Saltar al contenido
DBAExperts
MySQL Diagnóstico

Cómo encontrar consultas lentas en MySQL

Antes de optimizar hay que medir. MySQL 8.0 ofrece tres herramientas complementarias: el slow query log registra las consultas que tardan de más, EXPLAIN muestra el plan de una consulta, y performance_schema agrega estadísticas de todas las consultas del servidor.

  1. 1

    Activa el slow query log

    Registra las consultas que tardan más del umbral. long_query_time en segundos (acepta decimales). Actívalo en caliente para no reiniciar.

    SET GLOBAL slow_query_log = 'ON';
    SET GLOBAL long_query_time = 1;   -- consultas de más de 1 segundo
  2. 2

    Revisa qué consultas consumen más tiempo total

    performance_schema resume el impacto acumulado. Ordena por tiempo total, no solo por tiempo por ejecución: una consulta rápida que corre miles de veces puede pesar más que una lenta ocasional.

    SELECT digest_text, count_star, 
           ROUND(sum_timer_wait/1e12, 2) AS seg_total
    FROM performance_schema.events_statements_summary_by_digest
    ORDER BY sum_timer_wait DESC
    LIMIT 10;
  3. 3

    Analiza el plan de la consulta sospechosa

    EXPLAIN te dice cómo piensa ejecutar MySQL. Busca type ALL (escaneo completo) y valores altos en rows.

    EXPLAIN SELECT * FROM pedidos WHERE estado = 'pendiente';
  4. 4

    Mide el plan real con EXPLAIN ANALYZE

    En MySQL 8.0.18 y posteriores, EXPLAIN ANALYZE ejecuta la consulta y muestra tiempos reales por paso. Cuidado: sí ejecuta la consulta, no la corras sobre sentencias que modifican datos.

    EXPLAIN ANALYZE SELECT * FROM pedidos WHERE estado = 'pendiente';

// el error común

Un long_query_time muy bajo (por ejemplo 0) llena el disco con logs a gran velocidad en un servidor con carga. Empieza con 1 o 2 segundos, identifica lo peor y baja el umbral solo si hace falta.

// cuándo conviene un experto

Cuando la app va lenta pero no sabes cuál consulta es la culpable, o cuando ya la encontraste pero no cede al optimizar, conviene una mirada experta. En dba.mx hacemos diagnóstico de rendimiento con datos reales, con techo cerrado.

Agenda un Escaneo — desde USD $550

Esta guía es orientativa y usa comandos de referencia. En producción, adapta a tu versión y prueba en un ambiente seguro primero.