Quelle est la différence entre le niveau d'isolement de lecture sérialisable et répétable?

Quelle est la différence entre le niveau d'isolement de lecture sérialisable et répétable? Quelqu'un peut-il donner un exemple simple.

29
demandé sur Celeritas 2012-11-14 10:58:35

2 réponses

Résumé:

Dans un niveau D'isolement de lecture répétable, de nouvelles lignes peuvent être insérées dans l'ensemble de données.

Dans un niveau D'isolation sérialisable, toutes les lignes sont verrouillées pendant la durée de la transaction, aucune insertion,mise à jour ou suppression n'est autorisée.

Veuillez vous référer à ceci pour des exemples et des explications

Niveau D'Isolement - serializable

Http://beyondrelational.com/modules/2/blogs/28/posts/10467/sql-server-transaction-isolation-level-serializable.aspx

Niveau D'isolement-répétable-Lire

Http://beyondrelational.com/modules/2/blogs/28/posts/10466/sql-server-transaction-isolation-level-repeatable-read.aspx

30
répondu Thangamani Palanisamy 2012-11-14 07:30:47

La lecture répétable n'empêche que la lecture non répétable (vous pouvez donc lire les mêmes données dans la même transaction sans craindre que quelqu'un les Change - même si c'est un besoin rare de le faire).

Serializable empêche à la fois la lecture non reproductible et les lignes fantômes (vous ne pouvez donc même pas insérer de données). Cela signifie que vous pouvez lire et écrire (sélectionner, Mettre à jour) des lignes qui ne sont pas incluses dans la transaction sérialisable, mais vous ne pouvez pas supprimer ou insérer des lignes au niveau de la TABLE.

Les deux reproductible read et sérialisable sont très strictes et il n'y a pas toujours besoin pour eux!

4
répondu Kristijan 2014-07-03 11:22:02