Maison > base de données > tutoriel mysql > Résumer les quatre niveaux d'isolement de la norme SQL92

Résumer les quatre niveaux d'isolement de la norme SQL92

藏色散人
Libérer: 2021-12-03 19:33:30
avant
1825 Les gens l'ont consulté

Oread non engagé Les transactions peuvent lire des données non validées, également appelées lectures incorrectes. Ce niveau peut causer de nombreux problèmes. En termes de performances, Read non validé n'est pas bien meilleur que les autres niveaux, mais il lui manque de nombreux avantages des autres niveaux, à moins qu'il n'y ait des raisons très nécessaires, il est rarement utilisé dans les applications réelles.

  • Read commit (lire le contenu du commit)

Le niveau d'isolement par défaut de la plupart des systèmes de bases de données est Read commit (mais MySQL ne l'est pas). La lecture validée satisfait à la définition simple de l'isolement mentionnée précédemment : lorsqu'une transaction démarre, seules les modifications apportées par les transactions validées peuvent être vues. En d’autres termes, toutes les modifications apportées par une transaction depuis le début jusqu’au moment où elle est validée sont invisibles pour les autres transactions. Ce niveau est parfois appelé lecture non répétable, car exécuter deux fois la même requête peut entraîner des résultats différents.

  • Lecture répétable (lecture répétable)

La lecture répétable résout le problème de lecture sale. Ce niveau garantit que les résultats de la lecture du même enregistrement plusieurs fois dans la même transaction sont cohérents. Cependant, en théorie, le niveau d'isolement de lecture répétable ne peut toujours pas résoudre un autre problème de lecture fantôme (lecture fantôme). La lecture dite fantôme signifie que lorsqu'une transaction lit des enregistrements dans une certaine plage, une autre transaction insère un nouvel enregistrement dans la plage. Lorsque la transaction précédente lit à nouveau les enregistrements dans la plage, elle produira des lignes fantômes. Les moteurs de stockage InnoDB et XtraDB résolvent le problème de lecture fantôme grâce au contrôle de concurrence multiversion (MVCC).

    La lecture répétable est le niveau d'isolation des transactions par défaut de Mysql. InnoDB obtient principalement une concurrence élevée en utilisant MVVC et utilise une stratégie appelée verrouillage par clé suivante pour éviter les lectures fantômes.
  • Sérialisable (Sérialisable)

Sérialisable est le niveau d'isolement le plus élevé. Cela évite le problème de lecture fantôme mentionné précédemment en forçant la sérialisation des transactions. Pour faire simple, Serialisable ajoutera un verrou à chaque ligne de données lues, ce qui peut entraîner de nombreux problèmes de délai d'attente et d'acquisition de verrous. Ce niveau d'isolement est rarement utilisé dans les applications réelles. Ce niveau ne doit être pris en compte que lorsqu'il est absolument nécessaire pour garantir la cohérence des données et que l'absence de concurrence est acceptable.

  • Niveau d'isolement
  • ANSI SQL92 P68-69

Niveau (niveau d'isolement)

Lecture sale (lecture sale)

Lecture non répétable (lecture non répétable)Phantom (lecture fantôme) ✓ ✓ ✓ ✓×Tutoriel vidéo mysql                                                                                      
Lire non engagé (Lire le contenu non engagé)
Lire engagé (Lire le contenu engagé) ×
Lecture répétable (Répétable lecture) × ×
Sérialisable (Sérialisable) × ×
Apprentissage recommandé : "

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal