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

3024: Query execution was interrupted, maximum statement execution time exceeded (exécution de la requête interrompue : durée maximale d'exécution dépassée)

MySQL

Que signifie cette erreur ?

Une requête SELECT a été interrompue par MySQL car elle a dépassé la durée d'exécution maximale définie pour elle (max_execution_time / hint MAX_EXECUTION_TIME). C'est un garde-fou de timeout qui empêche les requêtes longues d'accaparer les ressources.

Cause

La requête a duré plus longtemps que la valeur max_execution_time de la session/globale ou que le hint d'optimiseur MAX_EXECUTION_TIME(N) du SELECT. Généralement causé par un plan inefficace, un index manquant, un gros parcours ou des ralentissements sous forte concurrence. (S'applique uniquement aux SELECT en lecture seule.)

Comment la corriger

Analysez la requête avec EXPLAIN et optimisez-la (index appropriés, prédicats plus sélectifs, moins de full table scans). Si la requête doit légitimement s'exécuter longtemps, augmentez le hint MAX_EXECUTION_TIME de ce SELECT ou le max_execution_time de la session. Exécutez les requêtes analytiques lourdes hors ligne/sur un réplica.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur