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 : Sélectionner tout - Visualiser dans une fenêtre à part
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