2012-06-30 53 views

Respuesta

110

iniciar el analizador con

SET profiling = 1; 

a continuación, ejecutar la consulta.

Con

SHOW PROFILES; 

que ver una lista de consultas que el perfilador tiene estadísticas para. Y finalmente eliges qué consulta examinar con

SHOW PROFILE FOR QUERY 1; 

o el número que tenga tu consulta.

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

Más información en la manual.

+0

¡Esto es excelente! ¿Sabes si esto es lento? es decir, ¿podría agregar esto a mi clase contenedora para ejecutarla en cada consulta que se ejecute en mi sitio web? – Mikhail

+2

Nunca pensé en eso. ¿Por qué querrías hacer eso? Por lo general, esto es solo para el desarrollo, supongo. Si desea saber qué consultas son lentas, eche un vistazo a su registro de consultas lentas. http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html – fancyPants

+0

Porque las consultas toman una cantidad de tiempo diferente para diferentes usuarios. slow-query-log parece contar el tiempo que espera una liberación de bloqueo – Mikhail

27

La respuesta está convirtiendo en no válido ...

SHOW PROFILE[S] son obsoleta desde MySQL 5.6.7 y se eliminará en futuras versiones 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

+0

Si Profile le ofrece algo más útil que "enviar datos", gana la lotería. –

+0

Estoy usando 5.7.19 y todavía 'show profiles' funciona correctamente –

+0

@SivaPraveen - OK, por ahora todavía funciona, pero" ... será eliminado ... " –

Cuestiones relacionadas