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.
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.
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