1969: MariaDB: Query execution was interrupted (max_statement_time exceeded) (Abfrageausführung unterbrochen)
MySQLWas 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.
Weitere Einträge zu dieser Datenbank
- 3730Cannot drop table referenced by a foreign key constraint (von Foreign Key referenzierte Tabelle kann nicht gelöscht werden)
- 2013Lost connection to MySQL server during query (Verbindung zum MySQL-Server während der Abfrage verloren)
- 1153Got a packet bigger than 'max_allowed_packet' bytes (Paket größer als max_allowed_packet)
- 1927MariaDB: ER_CONNECTION_KILLED: Connection was killed
- 1290ER_OPTION_PREVENTS_STATEMENT: running with the --read-only option
- 1836ER_READ_ONLY_MODE: Running in read-only mode
- 3819ER_CHECK_CONSTRAINT_VIOLATED: Check constraint is violated