Como encontrar Queries o Consultas Problemáticas en MySQL o MariaDB

En ocaciones por la misma complejidad de nuestras Bases de Datos algunas consultas pueden tardar demasiado, consumiendo recursos de nuestro servidor lo cual hace que se vuelva lento o en algunos casos llegar al 100% de su capacidad y volverlo inoperable.

Para este caso voy a mostrar dos sencillos pasos para detectar los queries o consultas que tienen problemas y como detenerlos

Lo primero que debemos hacer es ver la lista de procesos activos con el siguiente comando.

mysql> show processlist;

La imágen siguiente muestra el resultado.


Las columnas que nos interesan son "Command" y "Time", debemos dejar a un lado todos los procesos que en su columna "Command" tiene el indicador "Sleep" estos son procesos que estan a la espera de algún Query y no estan consumiendo ningun recurso de servidor, dicho esto como podemos ver en el resultado anterior el proceso con Id 132033 ha estado ejecutando un Query por más de 27 segundos, a este tipo de proceso es el que hay que ponerles atención, para detenerlo ejecutamos el siguiente comando.

mysql> kill 132033;

Con esto detenemos el proceso y superamos momentaneamente el problema de lentitud de nuestro servidor, luego hay que ver con el área de desarrollo porque este query esta tardando tanto en devolver la información, en la columna "Info" puedes ver el detalle del Query para pasarlo al área encargada.

Comentarios