2011-08-17 13 views
6

Veo que hay una buena opción de cómo habilitar registro de consultas lentas y consultas sin índices:Cómo registrar consultas mySQL sin índices?

SET GLOBAL log_queries_not_using_indexes=1; 
    SET GLOBAL log_slow_queries=1; 

bien, está bien, pero parece que tanto escribir en el mismo archivo de registro que he especificado en el fichero de configuración my.cnf :

[mysqld] 
    long_query_time   = 1 
    log-slow-queries  = /var/log/mysql/mysql-slow.log 

utilizo mysqldumpslow para ver las consultas más lentas, pero lo que necesita hacer para ver por separado que las consultas sin índices?

¿Podría ayudarme?

¡Gracias de antemano!

mejor,

Jakub

+0

Creo que tendrá que hacerlo paso por paso. –

+0

BTW, echa un vistazo a mysqlsla como un analizador de registros: http://hackmysql.com/mysqlsla – Dor

Respuesta

7

No se puede. El archivo de registro es un archivo de texto y no puede inferir si una consulta utilizó un índice en ese momento de ejecución. Además, la opción log-queries-not-using-indexes no necesariamente registrar consultas que no utilizan un índice, see:

Si utiliza esta opción con el registro de consultas lentas habilitado, consulta que se espera para recuperar todas las filas están registrados. Consulte la Sección 5.2.5, "El registro de consultas lentas". Esta opción no significa necesariamente que no se use el índice . Por ejemplo, una consulta que usa un análisis de índice completo usa un índice, pero se registraría porque el índice no limitaría el número de filas .

Cuestiones relacionadas