| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

分離レベル (Isolation Level)

提供: MyMemoWiki
ナビゲーションに移動 検索に移動

分離レベル (Isolation Level)

Database |

トランザクション同時実行時の問題点

トランザクションを同時実行した場合に、トランザクションの分離レベルによっていくつかの問題が発生する。

更新データの損失 (Lost Updates)

ある更新処理による更新データが確定される前に、他の更新処理により変更されてしまう。 0075 isolationlevel 01.gif

ダーティーリード (Dirty Read)

別のトランザクションにより更新されたが、まだコミットされていないデータを読んでしまえる。 0076 isolationlevel 02.gif

反復不可能読み取り

トランザクション中に、繰り返し同じデータを参照するとき、そのつど値が変わってしまう状態。 同一トランザクション内で、同じSELECT文が実行された場合に、同じ紹介結果が保証されない。 0077 isolationlevel 03.gif

ファントムリード

トランザクション中に、突然現れたり消えたりしてしまうデータ。 同一トランザクション内で、同じSELECT文を実行した場合に、 他の更新処理により条件に合致するようになったデータまで紹介結果に入る。 0078 isolationlevel 04.gif

分離レベル (Isolation Level)

Isolation(分離レベル) Dirty Read(ダーティーリード) Non-Repeatable Reads(反復不可能読み取り) Phantom Reads(ファントムリード)
Read Uncommitted(非コミット読み取り) 起こりうる 起こりうる 起こりうる
Read Committed(コミット済み読み取り) 起こりうる 起こりうる
Repeatable Read(繰り返し可能読み取り) 起こりうる
Serializable(直列化可能)

製品

DB2