Directorio
¿Qué es el interruptor de verificación de registro lento?
Compruebe si el interruptor de registro lento está habilitado
Ver información variable de registro lento
Encienda el interruptor de variable de registro lento
Tiempo de almacenamiento de registro lento personalizado
Encienda el interruptor de registro lento
Ver la información de la variable de registro lento nuevamente
Cómo analizar SQL problemático a través de registros lentos
¿Qué es el interruptor de verificación de registro lento?
La verificación de registro lento almacenará la información de rendimiento de las instrucciones SQL ejecutadas con éxito fuera del tiempo personalizado en el registro lento de acuerdo con el tiempo definido por el usuario, de modo que el administrador del usuario pueda optimizar el registro lento
Compruebe si el interruptor de registro lento está habilitado
show variables like 'slow_query_log';
Puedes ver que está APAGADO por defecto
Ver información variable de registro lento
show variables like '%log%';
Recuerde que este interruptor está desactivado por defecto
Esta es la ruta de almacenamiento predeterminada para archivos de registro lentos
Encienda el interruptor de variable de registro lento
set global log_queries_not_using_indexes=on;
Tiempo de almacenamiento de registro lento personalizado
set global long_query_time=1;
Encienda el interruptor de registro lento
set global slow_query_log=on;
Ver la información de la variable de registro lento nuevamente
show variables like '%log%'
Puede ver que tanto la variable de registro lento como el registro lento están activados
Prueba
Ejecuta una consulta en mysql
Luego copie una sesión, en otra sesión, no ingrese mysql, ingrese el comando, consulte el archivo de registro lento
more /var/lib/mysql/master-slow.log
Como puede ver, habrá un registro detallado de los parámetros de rendimiento del SQL que ejecute
En este momento, se preguntará por qué configuré solo las declaraciones SQL que exceden 1S para guardarlas en el registro, y ahora todas las declaraciones SQL ejecutadas se almacenan en el registro.
Nota: El registro lento registrará todas las instrucciones SQL de forma predeterminada. Cuando establezca el tiempo para el depósito automático, debe reiniciar el servicio mysql, de lo contrario no tendrá efecto. ! !
systemctl restart mysqld.service
Después de reiniciar el servicio, pruebe nuevamente, ejecute un SQL y consulte el registro en otro puerto. Encontrará que si toma menos de 1S, no se puede registrar en el registro de carga lenta.
Cómo analizar SQL problemático a través de registros lentos
1. Mire el SQL que tiene muchas consultas y cada consulta lleva mucho tiempo
2. Mire el SQL con IO grande y vea el elemento de examen Filas. Cuantas más líneas de exploración, mayor es el IO
3. Mire el SQL del índice perdido, analizando las filas examinadas y enviando filas, mire la tasa de aciertos del índice