Bonjour,
J'ai besoin d'extraire des données d'une base MySQL pour les intégrer dans une base décisionnelle.
Lors de l'exécution de la requête, qui dure 8 minutes, le serveur MySQL est complètement injoignable jusqu'à ce qu'il est finis le traitement de la requête.
J'ai activé le slow_query_log, toutes les requêtes loggées durent entre 0 et 1 secondes (comme le premier exemple) sauf une qui durent anormalement 131 secondes (cf deuxième exemple).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 # Time: 090722 15:36:59 # User@Host: jiralect[jiralect] @ [10.252.176.126] # Query_time: 1 Lock_time: 0 Rows_sent: 8 Rows_examined: 7037
Bon, je sais que c'est pas le même nombre de lignes retournées mais c'est complètement anormal qu'ils prennent 131 secondes à parcourir 1 million de lignes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 # Time: 090722 15:39:11 # User@Host: jiralect[jiralect] @ [IP] # Query_time: 131 Lock_time: 0 Rows_sent: 10481 Rows_examined: 1078564
La requête contient 21 Outer join, dont un seul va taper une colonne non-indexées. A chacune de ses entrées de cette requête, on exécute 6 petites requêtes imbriquées.
Quelqu'un a une idée d'où ça peut venir ?
Merci beaucoup,
Guireg
Partager