1969: MariaDB: Query execution was interrupted (max_statement_time exceeded)
MySQLO 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.
Mais entradas deste banco
- 3730Cannot drop table referenced by a foreign key constraint
- 2013Lost connection to MySQL server during query
- 1153Got a packet bigger than 'max_allowed_packet' bytes
- 1927MariaDB: ER_CONNECTION_KILLED: Connection was killed (a conexão foi encerrada)
- 1290ER_OPTION_PREVENTS_STATEMENT: running with the --read-only option (em execução com a opção --read-only)
- 1836ER_READ_ONLY_MODE: Running in read-only mode (em execução no modo somente leitura)
- 3819ER_CHECK_CONSTRAINT_VIOLATED: Check constraint is violated (a constraint CHECK foi violada)