Question

En utilisant mysqldumpslow, je peux voir que les entrées les plus courantes dans un journal de requêtes lentes de MySQL sont de la forme suivante:

SELECT /*!N SQL_NO_CACHE */ from wp_posts (or wp_comments).

Je ne peux pas sembler trouver beaucoup d'informations sur ce que signifie cette déclaration et si je besoin de vous soucier assez pour essayer de découvrir d'où WordPress est la création de ce SQL.

Était-ce utile?

La solution

Ces types de SELECT sont toujours effectuées par mysqldumps.

Si vous regardez dans le journal lent pour l'heure de début de la requête et le temps de chacun de ces selects est en même temps tous les jours, il vient certainement d'un mysqldump vous avez quelque part crontab'd.

Pour éliminer cela, vous devrez peut-être exécuter ce

SET GLOBAL slow_query_log = 'OFF';

Ensuite, allez exécuter les mysqldumps, puis exécutez

SET GLOBAL slow_query_log = 'ON';

Cela devrait éliminer complètement ce type de SELECT d'atterrissage inutilement dans le journal lent.

Autres conseils

Cette syntaxe:

SELECT /*!N SQL_NO_CACHE */ * from wp_posts

est utilisé par mysqldump. Utilisez-vous que via Cron?

/* !50123 ... */
 des moyens pour inclure le "..." que si vous utilisez la version 5.1.23 ou ultérieure. Cela permet mysqldump (et d'autres outils généraux) d'utiliser le même code, mais le faire fonctionner sur des systèmes anciens qui n'ont pas la caractéristique mentionnée.

Voici que je utilise pour surveiller:

SHOW /*!50000 GLOBAL */ STATUS

Il exécutera comme SHOW STATUS sur les anciens serveurs ou SHOW GLOBAL STATUS sur 5.0.0 et de nouveaux serveurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top