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.
Más entradas de este motor
- 1030Got error N from storage engine
- 1197Multi-statement transaction required more than 'max_binlog_cache_size' (la transacción de varias sentencias requirió más que 'max_binlog_cache_size')
- 1785Statement violates GTID consistency
- 1298Unknown or incorrect time zone
- 1418Function has none of DETERMINISTIC, NO SQL, or READS SQL DATA (binary logging enabled) (la función no tiene DETERMINISTIC, NO SQL ni READS SQL DATA)
- 1231Variable can't be set to the value of ... (no se puede asignar ese valor a la variable)