1 - En se manipulant la mise à jour avec des questions de SQL, examinent l'impact de
INSÉRER LE *** SUR LE *** DE MISE À JOUR DE VALEUR DE CLÉ IDENTIQUE
Cf
http://dev.mysql.com/doc/refman/5.0/fr/insert.html2 - Puisque vous manipulez dans les copies parallèles de $_SESSION et de SQL des données de session, vous pourriez envisager de stocker l'identification de SQL dans les données de $_SESSION
Quand faites-vous le premier écrivez-vous l'insertion ?
Dans certains cas $_SESSION est mis à jour seulement après que la page est laissée…
3 - Il semble que vous jouez vraiment dans un secteur dangereux où la synchronisation précise n'est pas vraiment garantie et où vous devriez donc s'attendre à des un bon nombre d'ennuis.
J'essayerais de reconsidérer et mettre à jour des données de session seulement sur quelques événements significatifs, de sorte que n'importe quelle question cachée de SQL ait eu un certain temps pour s'exécuter. Votre système serait alors plus robuste, et la charge sur le serveur chuterait également de manière significative.
Ou avoir un certain $_SESSION tenir l'horodateur de la dernière mise à jour et le mettre à jour seulement après 2 secondes
Sure, pas très Ajax-comme mais hé, ceci dépend de votre serveur de SQL et de l'effort que vous le mettez dessus. Les micro-secondes ou même les mises à jour de milli- ou de centi-secondes sont très bien pour Ajax, mais pas pour le serveur de SQL