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:
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