Optimisation synchro entre 2 bases
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:
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);
} |