MySQL Slow registro de consultas - SELECT / * N * SQL_NO_CACHE /
Pregunta
El uso de mysqldumpslow
, puedo ver que las entradas más comunes en un registro de consultas lentas de MySQL son de la siguiente forma:
SELECT /*!N SQL_NO_CACHE */ from wp_posts (or wp_comments).
Me parece que no puede encontrar mucha información sobre lo que significa este declaración y si lo necesita preocuparse de lo suficiente como para tratar de localizar a donde WordPress es la creación de este SQL.
Solución
Estos tipos de SELECT se realiza siempre por mysqldumps.
Si nos fijamos en el lento registro de la hora de inicio de la consulta y el tiempo de cada una de estas SELECTs es la misma hora todos los días, que es, sin duda proviene de un mysqldump tienes un lugar crontab'd.
Para eliminar esto, puede que tenga que ejecutar este
SET GLOBAL slow_query_log = 'OFF';
A continuación, vaya ejecutar las mysqldumps y ejecute
SET GLOBAL slow_query_log = 'ON';
Esto debería eliminar totalmente este tipo de SELECT de aterrizaje innecesariamente en el lento de registro.
Otros consejos
Esta sintaxis:
SELECT /*!N SQL_NO_CACHE */ * from wp_posts
se utiliza por mysqldump. ¿Está utilizando que a través de cron?
/* !50123 ... */
medios para incluir el "..."
sólo si está ejecutando la versión 5.1.23 o posterior. Esto permite mysqldump (y otras herramientas generales) para utilizar el mismo código, pero tiene que trabajar en sistemas antiguos que no tenían la característica mencionada.
Aquí hay un uso que para el seguimiento:
SHOW /*!50000 GLOBAL */ STATUS
Se ejecutará como SHOW STATUS
en los servidores viejos o SHOW GLOBAL STATUS
en 5.0.0 y más nuevos servidores.