48

シリアライズ可能な読み取り分離レベルと反復可能な読み取り分離レベルの違いは何ですか? 誰でも簡単な例を教えてください。

4

2 に答える 2

41

概要:

Repeatable Read 分離レベルでは、新しい行をデータセットに挿入できます。

Serializable 分離​​レベルでは、すべての行がトランザクションの間ロックされ、挿入、更新、または削除は許可されません。

例と説明については、これらを参照してください。

元のリンクが壊れています — Wayback Machine のリンクは同じ日時のものです。

分離レベル — シリアライズ可能

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

Wayback Machine SQL Server トランザクション レベル シリアライズ可能

分離レベル — 繰り返し読み取り

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

Wayback Machine SQL Server トランザクション レベルの反復可能な読み取り

于 2012-11-14T07:30:47.820 に答える
11

反復可能な読み取りは、反復不可能な読み取りのみを防ぎます (そのため、誰かが変更することを恐れずに、同じトランザクションで同じデータを読み取ることができます - それを行う必要はめったにありません)。

Serializableは、反復不可能な読み取りとファントム行の両方を防ぎます (したがって、データを挿入することさえできません)。つまり、シリアル化可能なトランザクションに含まれていない行を READ および WRITE (SELECT、UPDATE) できますが、TABLE レベルで行を DELETE または INSERT することはできません。

反復可能読み取りとシリアライズ可能はどちらも非常に厳密であり、常に必要というわけではありません!

于 2014-07-03T11:22:02.840 に答える