UPDATE fait planter mysql, trop long
Voilà, je réalise un update qui est trop long et qui, semble-t-il pour cette raison, car je n'ai pas un message d'erreur hyper explicite (server shutdown), fait planter mysql.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| UPDATE `Chemins_HArrMax_1320` c1
SET
c1.hdepretour=(
SELECT c2.hdepchemin FROM `Chemins_HDepMin_1510` c2
where (time_to_sec(c2.hdepchemin)>=time_to_sec(c1.hretourminimum) and
time_to_sec(c2.harrchemin)<time_to_sec(c1.harrretour)) and
c1.codeaeroarr like c2.codeaerodep and c1.codeAerodep like c2.codeaeroarr
having min(c2.hdepchemin)
),
c1.harrretour=(
SELECT c2.harrchemin FROM `Chemins_HDepMin_1510` c2
where (time_to_sec(c2.hdepchemin)>=time_to_sec(c1.hretourminimum) and
time_to_sec(c2.harrchemin)<time_to_sec(c1.harrretour)) and
c1.codeaeroarr like c2.codeaerodep and c1.codeAerodep like c2.codeaeroarr
having min(c2.hdepchemin)
); |
Ce que je constate après le message d'erreur c'est que certains de mes champs sont updatés, mais pas tous loin s'en faut. Et si je reproduis la requête ça avance à tout petits pas.
Donc ma question est comment s'y prendre pour accélérer cette requête?
Je précise tout de go que je n'ai aucun index sur ces tables qui sont de taille relativement modeste (10 000 à 30 000 lignes) et que tous les champs sont de type texte.
Pour les curieux, il s'agit d'un test de possibilités d'allers retours sur la journée entre grandes villes.
voilà voilà, merci pour l'aide.
Alan