Bonjour à tous,

Pourriez-vous me dire s'il y a moyen d'améliorer mon script de synchronisation de manière à ce qu'il y aurait le moins de requêtes possibles ?

A l'heure actuelle si j'ai 500 lignes trouvées il va chaque fois faire un INSERT 500 x. Et quand il n'y a pas de réseau 3G cela prend une plombe pour terminer la requête.

- Serait-il possible par exemple que s'il trouve 500 lignes il constitue un array qui serait inséré en une seule fois dans ma base esclave ?

- Soit un autre moyen auquel je n'ai pas pensé ?

En vous remerciant pour votre aide.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
$sql= "SELECT * FROM gghf_rando WHERE time > '$datesync'";
$resultats1 = mysql_query($sql, $connexion2);
 // On boucle sur toute la table
while($ligneMaster = mysql_fetch_assoc($resultats1)){
 
	 	// on insert dans le slave les données de la ligne du master
		$sql2 = 'INSERT INTO gghf_rando (no,annee,rando,id, nom, prenom, rue, code, postal,newid,tombola) VALUES ( "'.$ligneMaster['no'].'","'.$ligneMaster['annee'].'",  "'.$ligneMaster['rando'].'",  "'.$ligneMaster['id'].'","'.$ligneMaster['nom'].'","'.$ligneMaster['prenom'].'","'.$ligneMaster['rue'].'","'.$ligneMaster['code'].'","'.$ligneMaster['postal'].'","'.$ligneMaster['newid'].'","'.$ligneMaster['tombola'].'"  )';
		$resultats2 = mysql_query($sql2, $connexion1);
 
}