Mysql
 sql >> Base de données >  >> RDS >> Mysql

Les insertions multiples mysql dans une requête unique sont-elles atomiques ?

ACID Les propriétés (atomicité, cohérence, isolement, durabilité) sont utilisées pour décrire un tel comportement dans les bases de données. L'atomicité n'est importante que si nous avons affaire à des modifications simultanées . Pour assurer la cohérence, un certain niveau d'isolement doit être atteint. Cependant, plus les transactions multiples isolées sont exécutées, moins le SGBD a généralement de performances. Il y a donc le soi-disant "niveau d'isolement ", qui indique quelles erreurs peuvent éventuellement se produire dans un SGBD et lesquelles ne le peuvent pas.

Désormais, MySQL implémente tous les niveaux d'isolation dans les bases de données INNODB, et vous pouvez choisir pour chaque transaction :https://dev.mysql.com/doc/refman/5.1/en/set-transaction.html

Les bases de données MyIsam ne prennent pas en charge les transactions, les opérations individuelles doivent cependant s'exécuter de manière atomique. (Source :https://dev.mysql. com/doc/refman/5.0/en/ansi-diff-transactions.html ). Notez cependant que cela ne garantit PAS que les données ne sont pas modifiées entre les lectures et les écritures en une seule opération - l'atomicité en termes de SGBD signifie uniquement que l'opération est soit complètement terminée, soit complètement ignorée. Il ne garantit PAS l'isolement, la cohérence ou la durabilité.