¿Cómo puedo medir el tiempo de ejecución de una consulta sin medir el tiempo que pasa esperando un desbloqueo, etc.? Mi única idea era medir continuamente la misma consulta y registrar el tiempo más rápido.
Respuestas:
Inicie el generador de perfiles con
SET profiling = 1;
Luego ejecute su consulta.
Con
SHOW PROFILES;
verá una lista de consultas para las que el generador de perfiles tiene estadísticas. Y finalmente eliges con qué consulta examinar
SHOW PROFILE FOR QUERY 1;
o cualquier número que tenga su consulta.
Lo que obtiene es una lista donde exactamente cuánto tiempo se dedicó a la consulta.
Más información en el manual.
sending data
. O lo que sea necesario para mejorar el rendimiento. No veo ningún sentido en hacer saber a los usuarios por qué tienen que esperar tanto. En realidad no les importa.
La respuesta aceptada deja de ser válida ...
SHOW PROFILE[S]
están en desuso a partir de MySQL 5.6.7 y se eliminarán en una versión futura de MySQL. En su lugar, utilice el esquema de rendimiento; ver http://dev.mysql.com/doc/refman/5.6/en/performance-schema-query-profiling.html
show profiles
trabajo correctamente