El registro de consultas lento de los tres registros principales de MySQL

Registro de consultas lento

El registro de consultas lentas consta de sentencias SQL cuyo tiempo de ejecución supera long_query_time segundos. Estas sentencias deben comprobar al menos min_examined_row_limit filas (es decir, las consultas con menos de este número de filas marcadas no se registrarán en el registro de consultas lentas, y el el valor es 0).

El registro de consultas lentas se puede utilizar para buscar consultas que tardan mucho en ejecutarse, por lo que se puede utilizar como candidato para la optimización. Sin embargo, comprobar el registro de consultas largo y lento puede ser una tarea que requiere mucho tiempo. Para facilitar esto, puede usar el comando mysqldumpslow para manejar archivos de registro de consultas lentos y resumir su contenido.

El tiempo para adquirir el bloqueo inicial no se cuenta como tiempo de ejecución. Después de que mysqld ejecuta y libera todos los bloqueos, escribe una declaración en el registro de consultas lentas, por lo que el orden del registro puede ser diferente del orden de ejecución.

Parámetros de registro de consultas lentos

 long_query_time最小值和默认值分别为010

De forma predeterminada, no se registran declaraciones de administración ni consultas que no utilicen índices para consultas. Puede usar log_slow_admin_statements y cambiar este comportamiento log_queries_not_using_indexes, como se describe más adelante.

De forma predeterminada, el registro de consultas lentas está deshabilitado. Para especificar explícitamente el estado inicial del registro de consultas lentas, utilice
--slow_query_log[={0|1}]。

--slow_query_logCuando no hay ningún parámetro o el parámetro es 1, el registro está habilitado.

--slow_query_logCuando el parámetro es 0, el registro está deshabilitado. Para especificar el nombre del archivo de registro, utilice

--slow_query_log_file=file_name。

Para especificar la ubicación de almacenamiento del registro, utilice la variable de sistema log_output.

Si no especifica un nombre para el archivo de registro de consultas lentas, el nombre predeterminado es host_name-slow.log. A menos que se proporcione un nombre de ruta absoluto para especificar otro directorio, el servidor creará archivos en el directorio de datos.

Para ver la configuración de la consulta lenta, puede usar show variables como'low_query% '; declaración

Ejemplo:


mysql> show variables like 'slow_query%';
+---------------------+---------------------------+
| Variable_name       | Value                     |
+---------------------+---------------------------+
| slow_query_log      | ON                        |
| slow_query_log_file | /usr/mysql/local-slow.log |
+---------------------+---------------------------+
2 rows in set (0.00 sec)

Para deshabilitar o habilitar el registro de consultas lentas o cambiar el nombre del archivo de registro en tiempo de ejecución, utilice las variables globales slow_query_log y las variables de sistema slow_query_log_file. Establezca slow_query_log en 0 para deshabilitar el registro y en 1 para habilitar el registro. Establezca slow_query_log_file para especificar el nombre del archivo de registro. Si el archivo de registro ya está abierto, ciérrelo y abra un nuevo archivo.

Con la opción –log-short-format, el servidor escribirá menos información en el registro de consultas lentas.

Para incluir declaraciones de administración lenta en el registro de consultas lentas, habilite la variable de sistema log_slow_admin_statements. Las declaraciones de gestión incluyenALTER TABLE、ANALYZE TABLE、CHECK TABLE、CREATE INDEX、DROP INDEX、optimization TABLE和REPAIR TABLE。

Si desea incluir consultas que no usan índices en consultas lentas, debe habilitar la variable de sistema log_queries_not_using_indexes. Tenga en cuenta que al registrar consultas que no utilizan índices, el registro de consultas lentas puede crecer rápidamente.

El servidor usa los parámetros de control en el siguiente orden para decidir si escribir consultas en el registro de consultas lentas:

1、该查询必须不是管理语句,或者 log_slow_admin_statements 必须启用。

2、查询必须花费至少long_query_time秒,或者log_queries_not_using_indexes必须启用,并且查询没有使用索引进行行查找。

3、该查询必须至少检查了 min_examined_row_limit 行。

4、不得根据log_throttle_queries_not_using_indexes 设置禁止查询 。

De forma predeterminada, el servidor de réplica no escribe consultas replicadas en el registro de consultas lentas. Para cambiar esta configuración, habilite la variable de sistema log_slow_slave_statements. Tenga en cuenta que si utiliza la replicación basada en filas (binlog_format = ROW), log_slow_slave_statements no es válido. Solo cuando la consulta se registre en el formato de declaración en el registro binario, la consulta se agregará al registro de consultas lentas de la copia, es decir, cuando se establece binlog_format = declaración o binlog_format = MIXED y se registra la declaración en formato de declaración La consulta lenta se registrará en el registro de consultas lentas.

Contenido de registro de consultas lento

Cuando el registro de consultas lentas está habilitado, el servidor escribe la salida en el destino especificado por la variable de sistema log_output. Si el registro está habilitado, el servidor abrirá el archivo de registro y escribirá mensajes de inicio en él. Sin embargo, a menos que se seleccione el destino del registro de archivos, no se realizarán más registros de consultas en el archivo.

Si el registro de consultas lentas está habilitado y FILE está seleccionado como destino de salida, cada declaración escrita en el registro comienza con una línea, que comienza con el carácter #, y tiene los siguientes campos (todos los campos están en una línea):

Query_time: duration

语句执行时间,以秒为单位。

Lock_time: duration

获取锁的时间(以秒为单位)。

Rows_sent: N

发送给客户端的行数。

Rows_examined:

服务器层检查的行数(不计算存储引擎内部的任何处理)。

Cada instrucción escrita en el archivo de registro de consultas lentas está precedida por una instrucción SET, que contiene una marca de tiempo que representa el tiempo de grabación de la instrucción lenta (la instrucción se produce después de que se completa la ejecución).

Supongo que te gusta

Origin blog.csdn.net/qq_36551991/article/details/111825552
Recomendado
Clasificación