"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Lire engagé par rapport à la lecture répétable dans SQL Server: Quelle est la différence?

Lire engagé par rapport à la lecture répétable dans SQL Server: Quelle est la différence?

Publié le 2025-01-29
Parcourir:415

Read Committed vs. Repeatable Read in SQL Server: What's the Difference?

"Lire la communauté" et "Readable Read" Niveau d'isolement: dans -depth Différences

"La communauté de lecture" de SQL Server et "Readable" Les niveaux d'isolement garantissent toutes la cohérence des données, mais ses principales différences ne peuvent pas être ignorées.

Lire le niveau d'isolement de la communauté

] Lire La communauté garantit que les données lues pour les transactions ont été soumises avant la visible de la transaction. Cependant, si les données sont mises à jour avec les données et que les mêmes données sont relues, le résultat est cohérent.

Rentable Lire le niveau isolé

En revanche, la lecture reproductible fournit une cohérence de niveau supérieur. Il garantit non seulement que les données de lecture ont été soumises, mais garantit également que les données restent inchangées pendant toute la transaction. Même si d'autres transactions sont mises à jour, les résultats de lecture d'origine restent cohérents.

Exemple

Compte tenu de la scène suivante, le tableau T contient une colonne C avec une valeur de «1».

begin transaction; Sélectionnez * à partir de T; WaitFor Delay '00: 01: 00 '; Sélectionnez * à partir de T; Commettre;

Lire engagée:

La deuxième instruction SELECT peut renvoyer toutes les données mises à jour ou modifiées car les données peuvent changer pendant le retard.
BEGIN TRANSACTION;
SELECT * FROM T;
WAITFOR DELAY '00:01:00';
SELECT * FROM T;
COMMIT;
  • Autres niveaux d'isolement
  • En plus de la communauté de lecture et de la lecture repertable, SQL Server fournit également d'autres niveaux d'isolement:
  • serializable:
  • pour assurer l'isolement complètement pour empêcher toute modification simultanée, supprimer ou insérer un opération.

instantanée: est similaire à la série, mais utilisez des instantanés pour fournir une cohérence sans bloquer les transactions simultanées.

sélectionnez le bon niveau d'isolement

    Le choix du niveau d'isolement dépend des besoins d'application spécifiques. Bien que les niveaux d'isolement plus élevés garantissent la cohérence, ils peuvent également affecter l'évolutivité et les performances. Pour les applications qui peuvent être tolérées à plusieurs reprises, la communauté Read est un niveau d'isolement approprié. Pour les applications qui doivent être cohérentes et ne peuvent pas tolérer les changements de données lors de l'exécution des transactions, il est recommandé d'utiliser une lecture reproductible.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3