DBAtlas · Atlas für Datenbankbetrieb

1969: MariaDB: Query execution was interrupted (max_statement_time exceeded) (Abfrageausführung unterbrochen)

MySQL

Was bedeutet das?

MariaDB-spezifisch (ER_STATEMENT_TIMEOUT): Die Abfrage wurde unterbrochen, weil sie die durch max_statement_time definierte maximale Ausführungszeit überschritten hat. MySQL hat diesen Code nicht; das MySQL-Gegenstück ist Fehler 3024 (ER_QUERY_TIMEOUT, max_execution_time).

Ursache

In MariaDB Überschreiten des Session-/globalen Limits max_statement_time oder eines mit SET STATEMENT max_statement_time=N FOR ... gesetzten Limits; ein ineffizienter Plan, ein fehlender Index, ein großer Datenscan oder Sperrwartezeiten.

Lösung

Analysiere die Abfrage mit EXPLAIN und beschleunige sie durch zusätzliche Indizes und einen besseren Plan. Muss die Abfrage wirklich lange laufen, hebe das Limit in MariaDB an: SET SESSION max_statement_time = 60; (Sekunden) oder SET STATEMENT max_statement_time = 60 FOR SELECT ...; Nutzt du MySQL, siehe den Eintrag 3024 (max_execution_time, Millisekunden; Hint MAX_EXECUTION_TIME). Teile große Operationen auf.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank