Bonjour,
je ne comprends pas pourquoi mes updates sont si lents :
apres l'analyse d'un fichier, je met à jour une table MySQL avec une requete :
il faut plus de 3 minutes pour environ un millier de lignes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 UPDATE ma_table SET champ_dec_1=".mysql_real_escape_string($champ_dec_1).", champ_dec_2=".mysql_real_escape_string($champ_dec_2).", champ_int_1=".mysql_real_escape_string($champ_int_1)." WHERE champ_int_3=".mysql_real_escape_string($champ_int_3)." AND champ_str_1='".mysql_real_escape_string($champ_str_1)."' AND champ_int_4=".mysql_real_escape_string($champ_int_4)." AND champ_int_5=".mysql_real_escape_string($champ_int_5);
Pour info, il arrive que des lignes ne remplissent pas les conditions et donc aucune mise à jour n'est faite, ce qui est normal (mais je ne sais pas si ca peut perturber le traitement... je ne vois pas pourquoi...)
Si je n'ai que des INSERT à la place (j'ai fait le test pour voir), le traitement ne prend pas 10 secondes.
Et si je fais mon UPDATE en magouillant, c'est à dire, SELECT d'abord pour prendre ce qui existe, DELETE pour faire de la place, et INSERT pour réécrire le tout, ca ne prend qu'une minute.
une piste ??
merci








Répondre avec citation
Partager