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

1969: MariaDB: Query execution was interrupted (max_statement_time exceeded)

MySQL

O que significa?

Específico do MariaDB (ER_STATEMENT_TIMEOUT): a consulta foi interrompida porque excedeu o tempo máximo de execução definido por max_statement_time. O MySQL não tem este código; o equivalente no MySQL é o erro 3024 (ER_QUERY_TIMEOUT, max_execution_time).

Por que acontece?

No MariaDB, ultrapassagem do limite max_statement_time da sessão/global ou de um limite definido com SET STATEMENT max_statement_time=N FOR ...; um plano ineficiente, um índice ausente, uma varredura de grande volume de dados ou esperas por lock.

Como resolver

Analise a consulta com EXPLAIN e acelere-a adicionando índices e melhorando o plano. Se a consulta realmente precisar rodar por muito tempo, eleve o limite no MariaDB: SET SESSION max_statement_time = 60; (segundos) ou SET STATEMENT max_statement_time = 60 FOR SELECT ...; Se você usa MySQL, consulte a entrada 3024 (max_execution_time, milissegundos; hint MAX_EXECUTION_TIME). Divida as operações grandes.

Abrir no DBAtlas →

Mais entradas deste banco