DBAtlas · Atlas de operações de banco de dados

3024: Query execution was interrupted, maximum statement execution time exceeded (execução da consulta interrompida; tempo máximo de execução excedido)

MySQL

O 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.

Abrir no DBAtlas →

Mais entradas deste banco