Muchas veces se requiere identificar que consultas necesitan ser optimizadas para mejorar el desempeño en el acceso a la base de datos en MySQL, para esto haremos uso de unas líneas de configuración las cuales nos enviaran a un archivo las consultas que tarden “n” número de segundos en contestar.

root@cpanel [~]# mysqladmin variables | grep  log_slow

| log_slow_queries          | ON                      |
root@cpanel [~]#

Nos indicara si la opción de registro de consultas lentas esta activado, si no lo está, necesitamos editar el archivo /etc/my.cnf y agregar las siguientes líneas en la sección [mysqld]:


log-slow-queries = /var/log/mysql-slow.log
long_query_time = 3

Donde la línea “log-slow-queries” indica donde guardaremos las consultas que superen el limite de tiempo que asignaremos en la variable “long_query_time”, así, si una consulta supera el tiempo esta consulta se gaurdara en el archivo indicado en la variables “log-slow-queries”.

Solo resta crear el archivo /var/log/mysql-slow.log y asignar permisos al usuario mysql para que pueda escribir en el archivo:


touch /var/log/mysql-slow.log
chown mysql.root /var/log/mysql-slow.log

Solo resta reiniciar el servicio.


/etc/init.d/mysqld restart

Con esto tendremos un registro de las consultas realizadas y cuales de ella han tardado más del tiempo especificado en las opciones anteriores y esto nos dará una idea de que consultas deben ser analizadas y optimizadas.