DBAtlas · Atlas de operaciones de bases de datos

3024: Query execution was interrupted, maximum statement execution time exceeded (ejecución de la consulta interrumpida; se superó el tiempo máximo de ejecución)

MySQL

¿Qué significa?

MySQL interrumpió una consulta SELECT porque superó el tiempo máximo de ejecución definido para ella (max_execution_time / hint MAX_EXECUTION_TIME). Es una salvaguarda de timeout que impide que las consultas de larga duración acaparen recursos.

¿Por qué ocurre?

La consulta se ejecutó durante más tiempo que el valor de max_execution_time de sesión/global o que el hint del optimizador MAX_EXECUTION_TIME(N) del SELECT. Suele deberse a un plan ineficiente, un índice que falta, un recorrido grande o ralentizaciones con mucha concurrencia. (Solo se aplica a SELECT de solo lectura.)

Cómo solucionarlo

Analice la consulta con EXPLAIN y optimícela (índices adecuados, predicados más selectivos, menos full table scans). Si la consulta necesita legítimamente ejecutarse durante mucho tiempo, aumente el hint MAX_EXECUTION_TIME de ese SELECT o el max_execution_time de la sesión. Ejecute las consultas analíticas pesadas fuera de línea/en una réplica.

Abrir en DBAtlas →

Más entradas de este motor