Compréhension simple des 4 niveaux d'isolement des transactions dans mysql

Compréhension simple de l'isolement des transactions MySQL

 

Le principe de la transaction est l'acide. Seul le niveau d'isolement de la sérialisation est conforme au principe de l'acide. D'autres niveaux d'isolement doivent être verrouillés pour atteindre le principe de l'acide.

Il existe 4 types de niveaux d'isolement des transactions dans mysql,

1. Sans engagement

  Lorsque deux transactions modifient les mêmes données, la transaction A lit les données non validées de la transaction B, ce qui entraînera le problème de lecture incorrecte

2. Réengagement

  Lorsque deux transactions modifient les mêmes données, la transaction A interroge au milieu des deux transactions, la transaction B modifie et soumet les données interrogées par la transaction A, et les résultats des données des deux requêtes de la transaction A sont incohérents, ce qui entraîne une lecture non répétable

3. Lecture répétable

  Lorsque deux transactions modifient les mêmes données, la transaction A interroge le milieu de deux requêtes, la transaction B modifie et soumet les données interrogées par la transaction A, et les données interrogées par la transaction A sont incohérentes, ce qui entraînera des problèmes de lecture fantôme

4. Sérialisation (sérialisable)

  Lorsque deux transactions modifient les mêmes données, la transaction A est en cours, la transaction B ne peut attendre que la transaction A pour se terminer, et une seule transaction à la fois

 

Le niveau d'isolement par défaut de la base de données mysql est reproductible en lecture, le niveau d'isolement par défaut des autres bases de données est validé en lecture, le niveau d'isolement par défaut de la base de données mysql d'aliyun est validé en lecture

la lecture validée et la lecture répétable peuvent résoudre le problème d'incohérence des données en ajoutant un verrouillage optimiste ou un verrouillage pessimiste

 

Je suppose que tu aimes

Origine www.cnblogs.com/xiongjinpeng/p/12750991.html
conseillé
Classement