Optimización de MySQL para habilitar la verificación lenta de registros

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

Prueba

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

 

 

 

568 artículos originales publicados · Me gusta 180 · Visitas 180,000+

Supongo que te gusta

Origin blog.csdn.net/Delicious_Life/article/details/105585701
Recomendado
Clasificación