Je lisais this post sur le blog de performance de MySQL.InnoDB optimisation - "utiliser les transactions lors de mises à jour" - pourquoi?
Dans l'application mise au point, il dit:
d'abord, assurez-vous que vous utilisez les transactions lorsque vous faites des mises à jour
Je suis actuellement seulement des transactions dans des endroits où il y a plusieurs insertions ou des mises à jour à la en même temps. c'est-à-dire plus d'une table.
Dois-je donc modifier chaque UPDATE
pour le transformer en une transaction?
Quelle est la différence entre:
prepare sql
bind params
commit
et:
begin transaction
prepare sql
bind params
execute statement
commit transaction
en termes de ce qui se passe au niveau de la base de données, qui fait une plus rapide que l'autre? InnoDB fonctionne en mode autocommit par défaut.
+1. Analyse plus technique: il y a un tampon qui retarde l'écriture dans le journal (innodb_log_buffer_size) qui doit être vidé plus fréquemment si vous vous engagez tout le temps, ce qui conduit à des performances moins bonnes. Le tampon est également rincé automatiquement toutes les secondes. –