Mesurer le temps de requête MySQL réel

Comment puis-je mesurer le temps d’exécution d’une requête sans mesurer le temps d’attente avant la libération d’un verrou, etc.? Ma seule idée était de mesurer en permanence la même requête et d’enregistrer le temps le plus rapide.

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 dispose de statistiques. Et enfin, vous choisissez quelle requête examiner avec

 SHOW PROFILE FOR QUERY 1; 

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

Ce que vous obtenez est une liste où exactement combien de temps a été passé pendant la requête.

Plus d’infos dans le manuel.

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 performance. voir http://dev.mysql.com/doc/refman/5.6/fr/performance-schema-query-profiling.html