DBAtlas · Atlas d'exploitation des bases de données

1969: MariaDB: Query execution was interrupted (max_statement_time exceeded) (exécution de la requête interrompue)

MySQL

Que signifie cette erreur ?

Propre à MariaDB (ER_STATEMENT_TIMEOUT) : la requête a été interrompue, car elle a dépassé le temps d'exécution maximal défini par max_statement_time. MySQL ne possède pas ce code ; l'équivalent MySQL est l'erreur 3024 (ER_QUERY_TIMEOUT, max_execution_time).

Cause

Dans MariaDB, dépassement de la limite max_statement_time de session/globale ou d'une limite définie avec SET STATEMENT max_statement_time=N FOR ... ; plan inefficace, index manquant, parcours d'un grand volume de données ou attentes de verrous.

Comment la corriger

Analysez la requête avec EXPLAIN et accélérez-la en ajoutant des index et en améliorant le plan. Si la requête doit réellement s'exécuter longtemps, relevez la limite dans MariaDB : SET SESSION max_statement_time = 60; (secondes) ou SET STATEMENT max_statement_time = 60 FOR SELECT ...; Si vous utilisez MySQL, consultez l'entrée 3024 (max_execution_time, millisecondes ; hint MAX_EXECUTION_TIME). Découpez les opérations volumineuses.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur