Para monitorear el rendimiento de MySQL, que mejor que arrancar por las consultas, para hacer esto disponemos de una serie de alternativas:

  • Activar el Slow Query Log: loguea todas las consultas que se excedan de un tiempo dado (log_query_time) o bien, que no utilicen íncides (log-queries-not-using-indexes). Para activarlo, debemos editar el archivo my.cnf y agregar en la sección [mysqld]:


long_query_time         = 1
log-slow-queries        = /var/log/mysql/mysql-slow.log
log-queries-not-using-indexes

  • Describir una consulta: utilizar el comando DESCRIBE (o DESC es su forma abreviada). Por ejemplo: "DESC SELECT ... FROM ... WHERE ... ORDER BY ...", este nos devolverá si está utilizando índices y cuales son.
  • Analizar mediante EXPLAIN, como ejecuta las consultas MySQL y determinar si se utilizan índices, el número de filas exploradas e información adicional. Ver, Optimización de consultas con EXPLAIN.

Vía: Toro Blog