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)
MySQLQue 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.
Autres entrées pour ce moteur
- 1030Got error N from storage engine
- 1197Multi-statement transaction required more than 'max_binlog_cache_size' (la transaction multi-instructions a nécessité plus que 'max_binlog_cache_size')
- 1785Statement violates GTID consistency (l'instruction viole la cohérence GTID)
- 1298Unknown or incorrect time zone
- 1418Function has none of DETERMINISTIC, NO SQL, or READS SQL DATA (binary logging enabled) (la fonction n'a ni DETERMINISTIC, ni NO SQL, ni READS SQL DATA ; journalisation binaire activée)
- 1231Variable can't be set to the value of ...