Medición del tiempo real de consulta de MySQL

¿Cómo puedo medir el tiempo de ejecución de una consulta sin medir el tiempo que pasa esperando un lanzamiento de locking, etc.? Mi única idea era medir continuamente la misma consulta y registrar el tiempo más rápido.

Comience el perfilador con

SET profiling = 1; 

Luego ejecuta tu consulta.

Con

 SHOW PROFILES; 

verá una lista de consultas para las cuales el generador de perfiles tiene estadísticas. Y finalmente eliges qué consulta examinar con

 SHOW PROFILE FOR QUERY 1; 

o el número que tenga su consulta.

Lo que obtienes es una lista donde exactamente cuánto tiempo se pasó durante la consulta.

Más información en el manual.

La respuesta se está volviendo inválida …

SHOW PROFILE[S] están en desuso a partir de MySQL 5.6.7 y se eliminarán en una futura versión de MySQL. Use el esquema de rendimiento en su lugar; ver http://dev.mysql.com/doc/refman/5.6/en/performance-schema-query-profiling.html