DBAtlas · Atlas für Datenbankbetrieb

3024: Query execution was interrupted, maximum statement execution time exceeded

MySQL

Was bedeutet das?

Eine SELECT-Abfrage wurde von MySQL unterbrochen, weil sie die für sie festgelegte maximale Ausführungszeit überschritten hat (max_execution_time / Hint MAX_EXECUTION_TIME). Das ist eine Timeout-Schutzmaßnahme, die verhindert, dass lang laufende Abfragen Ressourcen binden.

Ursache

Die Abfrage lief länger als der Session-/globale Wert max_execution_time oder der Optimizer-Hint MAX_EXECUTION_TIME(N) beim SELECT. Meist verursacht durch einen ineffizienten Plan, einen fehlenden Index, einen großen Scan oder Verlangsamungen bei hoher Parallelität. (Gilt nur für Read-only-SELECTs.)

Lösung

Analysiere die Abfrage mit EXPLAIN und optimiere sie (passende Indizes, selektivere Prädikate, weniger Full Table Scans). Muss die Abfrage berechtigterweise lange laufen, erhöhe den Hint MAX_EXECUTION_TIME für dieses SELECT oder max_execution_time der Session. Führe schwere Analyseabfragen offline/auf einer Replica aus.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank