DBAtlas · 데이터베이스 운영 아틀라스

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

MySQL

의미

MariaDB 전용(ER_STATEMENT_TIMEOUT): max_statement_time으로 정의한 최대 실행 시간을 초과해 쿼리가 중단되었다. MySQL에는 이 코드가 없으며, MySQL의 대응 오류는 3024(ER_QUERY_TIMEOUT, max_execution_time)이다.

원인

MariaDB에서 세션/전역 max_statement_time 한도 또는 SET STATEMENT max_statement_time=N FOR ...로 설정한 한도 초과. 비효율적인 실행 계획, 인덱스 누락, 대용량 데이터 스캔 또는 락 대기.

해결 방법

EXPLAIN으로 쿼리를 분석하고 인덱스 추가와 실행 계획 개선으로 속도를 높인다. 쿼리가 실제로 오래 실행되어야 한다면 MariaDB에서 한도를 높인다: SET SESSION max_statement_time = 60;(초) 또는 SET STATEMENT max_statement_time = 60 FOR SELECT ...; MySQL을 사용한다면 3024 항목을 참고한다(max_execution_time, 밀리초. MAX_EXECUTION_TIME 힌트). 큰 작업은 분할한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목