Los registros en MySQL incluyen: registros de errores, registros binarios, registros genéricos de consultas, registros de consultas lentos, etc. Aquí hay dos funciones comúnmente usadas: registro general de consultas y registro de consultas lento.
1) Registros de consultas lentos:Registrar todas las consultas que se ejecuten durante más de long_query_time segundos o que no usen índices
2) Registro general de consultas:Registra las conexiones con los clientes, las declaraciones establecidas y ejecutadas.
1: Sobre la consulta lenta de MySQL:
El registro de consultas lentas de MySQL es un tipo de registro proporcionado por MySQL, que se utiliza para registrar sentencias que indican que el tiempo de respuesta supera el umbral en MySQL, refiriéndose específicamente a SQL con un tiempo de ejecución superior a long_query_time valor, que se registrará en el registro de consultas lentas (los registros pueden escribirse en archivos o tablas de bases de datos; si los requisitos de rendimiento son altos, se recomienda escribir archivos). Por defecto, la base de datos MySQL no permite registros de consulta lentos, y el valor predeterminado de la long_query_time es 10 (es decir, 10 segundos, normalmente fijado en 1 segundo), es decir, las sentencias que se ejecutan durante más de 10 segundos son sentencias de consulta lentas.
En términos generales, las consultas lentas ocurren en tablas grandes (por ejemplo, una tabla tiene millones de datos), y los campos de las condiciones de consulta no están indexados; en este momento, los campos que coinciden con las condiciones de consulta se escanean en toda la tabla, lo que lleva tiempo comprobar el long_query_time.
Es una sentencia de consulta lenta.
Pregunta: ¿Cómo puedo comprobar el estado actual de apertura del registro de consultas lentas?
Aquí entra el comando en MySQL:
Los siguientes parámetros se dominan principalmente:
(1) El valor de slow_query_log está ON para activar el registro de consultas lentas, y DESACTIVADO es para desactivar el registro de consultas lentas.
(2) El valor de slow_query_log_file es el registro de consultas lentas registrado en el archivo (nota: el nombre por defecto es hostname.log, ya sea que el registro de consultas lentas se escriba en el archivo especificado, debes especificar el formato de registro de salida de la consulta lenta como un archivo, y el comando relacionado es: mostrar variables como '%log_output%'; para ver el formato de la salida).
(3) long_query_time especifica el umbral para consultas lentas, es decir, si el tiempo de ejecución supera este umbral, es una sentencia de consulta lenta y el valor por defecto es 10 segundos.
(4) log_queries_not_using_indexes Si el valor está en ON, todas las consultas que no utilicen el índice se registrarán (Nota: Si la log_queries_not_using_indexes solo está en ON y la slow_query_log en OFF, la configuración no entrará en vigor en ese momento, es decir, la configuración se aplicará si el valor de la slow_query_log está en ON) , que generalmente se activa temporalmente cuando se afina la interpretación.
2. Registro general de consultas
Si el valor de general_log esON está encendido, paraOFF está cerrado(Desactivado por defecto).
Comprueba el formato de la salida actual del registro de consultas lento, que puede ser FILE (un hostname.log almacenado en un archivo de datos en una base de datos digital) o una TABLE (mysql.general_log almacenada en una base de datos)
(Nota: El comando anterior solo es efectivo en el momento actual, cuando los reinicios de MySQL no son válidos; si quieres que tenga efecto permanente, tienes que configurar my.cnf)
La representación de la salida logarítmica es la siguiente:
my.cnf está configurado de la siguiente manera:
general_log=1 #为1表示开启通用日志查询, un valor de 0 indica que la consulta genérica de registro está cerrada
log_output=FILE,TABLE# Establece el formato de salida del log general a archivo y tabla
|