¿Hay un equivalente de Profiler para MySql?

“Microsoft SQL Server Profiler es una interfaz gráfica de usuario para SQL Trace para monitorear una instancia de Database Engine o Analysis Services”.

Me parece que el uso de SQL Server Profiler es extremadamente útil durante el desarrollo, las pruebas y cuando estoy depurando problemas de la aplicación de base de datos. ¿Alguien sabe si hay un progtwig equivalente para MySql?

Algo genial que está en la versión 5.0.37 del servidor de la comunidad es el nuevo generador de perfiles de MySQL .

Esto puede darle la información que está buscando.

¿Desea supervisar el rendimiento o simplemente ver qué consultas se están ejecutando? Si es el último, puede configurar MySQL para registrar todas las consultas que se le proporcionan. En un cuadro RedHat Linux, puede agregar

log = /var/lib/mysql/query.log

a la sección [mysqld] de /etc/my.cnf antes de reiniciar MySQL.

Recuerde que en una situación de base de datos ocupada, esos registros pueden crecer bastante.

¡Pruebe JET Profiler es una herramienta de diagnóstico y rendimiento de consultas en tiempo real! Lo uso en mi trabajo. Excelente software y soporte. Revisar Jet Profiler para MySQL

Jet Profiler es bueno si se trata de una versión de pago. El LogMonitor simplemente lo apunta al archivo de registro de mysql.

En mi opinión, he encontrado todo aquí en crudo …

Encuentre y abra su archivo de configuración de MySQL, generalmente /etc/mysql/my.cnf en Ubuntu. Busque la sección que dice “Registro y replicación”

 # * Logging and Replication # Both location gets rotated by the cronjob. # Be aware that this log type is a performance killer. log = /var/log/mysql/mysql.log 

o en versiones más nuevas de mysql, comente OUT estas líneas de códigos

 general_log_file = /var/log/mysql/mysql.log general_log = 1 log_error = /var/log/mysql/error.log 

Simplemente elimine el comentario de la variable “log” para activar el registro. Reinicie MySQL con este comando: sudo /etc/init.d/mysql restart

Ahora estamos listos para comenzar a monitorear las consultas a medida que ingresan. Abra una nueva terminal y ejecute este comando para desplazar el archivo de registro, ajustando la ruta si es necesario.

 tail -f /var/log/mysql/mysql.log 

Si la versión 5.0.37 no está disponible, es posible que desee mirar mytop . Simplemente genera el estado actual del servidor, pero le permite ejecutar EXPLAIN como (mencionado por mercutio) en consultas particulares.

No estoy seguro acerca de la interfaz gráfica de usuario, pero hay un comando que me ha ayudado a registrar mucho los procedimientos almacenados en MySQL usando workbench:

 SET profiling = 1; call your_procedure; SHOW PROFILES; SET profiling = 0; 

No conozco ninguna aplicación de creación de perfiles como tal, pero es común usar la syntax de EXPLAIN para analizar las consultas. Puede usarlos para descubrir los mejores índices para crear, o puede intentar cambiar la consulta general y ver cómo cambia la eficiencia, etc.