web-dev-qa-db-fra.com

Mesurer le temps de requête MySQL

Comment mesurer le temps d'exécution d'une requête sans mesurer le temps d'attente en attente d'un déverrouillage, etc.? Ma seule idée était de mesurer en permanence la même requête et d'enregistrer le temps le plus rapide.

69
Mikhail

Démarrer le profileur avec

SET profiling = 1;

Ensuite, exécutez votre requête.

Avec

SHOW PROFILES;

vous voyez une liste de requêtes pour lesquelles le profileur a des statistiques. Et enfin, vous choisissez la requête à examiner avec

SHOW PROFILE FOR QUERY 1;

ou quel que soit le numéro de votre requête.

Vous obtenez une liste indiquant exactement combien de temps a été consacré à la requête.

Plus d'infos dans le manuel.

133
fancyPants

La réponse devient invalide ...

SHOW PROFILE[S] sont obsolètes à partir de MySQL 5.6.7 et seront supprimés dans une prochaine version de MySQL. Utilisez plutôt le schéma de performances. voir http://dev.mysql.com/doc/refman/5.6/en/performance-schema-query-profiling.html

32
Rick James