Grosse quantité de requêtes UPDATE multiple Vs INSERT ... ON DUPLICATE
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015
-
14 nov. 2009 à 19:46
lenono75
Messages postés17Date d'inscriptionjeudi 27 mai 2004StatutMembreDernière intervention12 février 2014
-
21 janv. 2010 à 16:32
Bonjour...
J'ai une base de données pas énorme énorme mais pas petite non plus (760000 entrées) qui nécessite d'être continuellement mise à jour et ce le plus rapidement possible () pour l'instant je me contente d'un "vulgaire" script client qui appel en boucle un script de maj sur le serveur... le script de maj (en php) fait une boucle avec un UPDATE qui est lancé à chaque itération... la boucle fait 100 itérations donc 100 UPDATE et le script est, à l'heure actuelle, appelé toutes les 5 secondes... la bdd se met à jour en 3h pour l'instant mais c'est pour test il faudra que j'accélère la cadence... du coup je me demande s'il serait pas mieux de faire un INSERT avec les 100 entrées et un ON DUPLICATE KEY... qu'en pensez vous... autant le php je maitrise bien mais le sql je maitrise les base mais il y a pleins de subtilités qui m'échappent... .. .
Il va de soit que cette solution n'est que momentanée ça ne fait que quelques jours que je suis dessus et j'avais besoin que tout soit fonctionnel rapidement je planche sur un moyen plus propre de mettre à jour cette bdd mais en attendant... .. .
Merci à ceux qui prendront le temps de donner leur avis... .. .
lenono75
Messages postés17Date d'inscriptionjeudi 27 mai 2004StatutMembreDernière intervention12 février 2014 21 janv. 2010 à 16:32
Si c'est intéressant, mais il faudrait en savoir un peu plus ??!!
L'idée de ta mise à jour, c'est un batch qui est nécessairement fait tous les ?? Jours, semaines, mois ??
Ensuite, n'y a t-il pas un souci de structure si tu es obligé de faire tout le temps des insert... on duplicate...
Ne vaudrait-il pas mieux faire à l'origine un insert ignore ?
Sinon, le insert on duplicate est plus rapide, selon certains théoriciens bloggeurs du web.
Ce que je fait moi, sur mon site, c'est que les scripts de maj, se font à l'appel de la page, et juste avant l'affichage, c'est clean, rapide, et pas de batch ;-)