Citation :Dans mon code PHP, je fais un calcul pour savoir si toutes les populations (Au nombre de 3 types différents) ont reçues leur nourriture (il y en a 10 différentes).Fais-le dans le MySQL, par procédure stockée. Ca dépote (perso, sur Iamanoc, un petit réseau social pour personnages fictifs, j'ai fait quelques tests et tout traiter dans le serveur SQL donne des temps de réponse de <50ms même avec 1 million de messages et d'évènements). Une boucle de requête UPDATE n'est alors plus un problème (car le temps réseau ne se glisse pas au milieu).
Je la présenterai dans quelques jours cette archi, je pense que cela pourra en intéresser quelques uns (dont toi )
A défaut, si tu ne veux pas changer d'archi, utilise INSERT INTO ... (id, ...) VALUES (.../* là, tu groupes un batch de 500*/...) ON DUPLICATE KEY UPDATE moral=VALUES(moral), viande=VALUES(viande),... /*là, tu liste les colonnes de données */.
Cela ne fera qu'une requête qui a pour principe d'écraser la ligne de donnée si une clef UNIQUE (la PRIMARY KEY de l'id, généralement) existe déjà. Cela permet d'émuler des "UPDATE par batch".