DBAtlas · データベース運用アトラス

3024: Query execution was interrupted, maximum statement execution time exceeded(最大文実行時間を超えたためクエリの実行が中断された)

MySQL

意味

SELECT クエリが、定義された最大実行時間 (max_execution_time / MAX_EXECUTION_TIME ヒント) を超えたため MySQL によって中断された。長時間実行のクエリがリソースを占有するのを防ぐタイムアウトの安全装置である。

原因

クエリがセッション/グローバルの max_execution_time の値、または SELECT の MAX_EXECUTION_TIME(N) オプティマイザヒントより長く実行された。通常、非効率な実行計画、インデックスの欠如、大規模な走査、または高い同時実行時の速度低下が原因。(読み取り専用の SELECT にのみ適用される。)

対処方法

EXPLAIN でクエリを分析して最適化する (適切なインデックス、より選択性の高い条件、全表走査の削減)。クエリが正当に長時間の実行を必要とする場合は、その SELECT の MAX_EXECUTION_TIME ヒントまたはセッションの max_execution_time を増やす。重い分析クエリはオフライン/レプリカで実行する。

DBAtlas で開く →

同じデータベースの他の項目