3024: Query execution was interrupted, maximum statement execution time exceeded (execução da consulta interrompida; tempo máximo de execução excedido)
MySQLO que significa?
Uma consulta SELECT foi interrompida pelo MySQL porque excedeu o tempo máximo de execução definido para ela (max_execution_time / hint MAX_EXECUTION_TIME). É uma proteção de timeout que impede que consultas longas prendam recursos.
Por que acontece?
A consulta foi executada por mais tempo do que o valor de max_execution_time da sessão/global ou o hint de otimizador MAX_EXECUTION_TIME(N) no SELECT. Geralmente causado por um plano ineficiente, índice ausente, uma varredura grande ou lentidão sob forte concorrência. (Aplica-se apenas a SELECTs somente leitura.)
Como resolver
Analise a consulta com EXPLAIN e otimize-a (índices adequados, predicados mais seletivos, menos full table scans). Se a consulta realmente precisar ser executada por muito tempo, aumente o hint MAX_EXECUTION_TIME desse SELECT ou o max_execution_time da sessão. Execute consultas analíticas pesadas offline/em uma réplica.
Mais entradas deste banco
- 1030Got error N from storage engine
- 1197Multi-statement transaction required more than 'max_binlog_cache_size' (a transação com vários comandos exigiu mais 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) (a função não tem DETERMINISTIC, NO SQL nem READS SQL DATA)
- 1231Variable can't be set to the value of ... (não é possível atribuir esse valor à variável)