「分離レベル (Isolation Level)」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「==分離レベル (Isolation Level)== [Database] ====トランザクション同時実行時の問題点==== トランザクションを同時実行した場合に…」) |
|||
| 1行目: | 1行目: | ||
==分離レベル (Isolation Level)== | ==分離レベル (Isolation Level)== | ||
| − | [Database] | + | [[Database]] |
====トランザクション同時実行時の問題点==== | ====トランザクション同時実行時の問題点==== | ||
2020年2月15日 (土) 08:00時点における版
目次
分離レベル (Isolation Level)
トランザクション同時実行時の問題点
トランザクションを同時実行した場合に、トランザクションの分離レベルによっていくつかの問題が発生する。
更新データの損失 (Lost Updates)
ある更新処理による更新データが確定される前に、他の更新処理により変更されてしまう。
ダーティーリード (Dirty Read)
別のトランザクションにより更新されたが、まだコミットされていないデータを読んでしまえる。
反復不可能読み取り
トランザクション中に、繰り返し同じデータを参照するとき、そのつど値が変わってしまう状態。 同一トランザクション内で、同じSELECT文が実行された場合に、同じ紹介結果が保証されない。
ファントムリード
トランザクション中に、突然現れたり消えたりしてしまうデータ。 同一トランザクション内で、同じSELECT文を実行した場合に、 他の更新処理により条件に合致するようになったデータまで紹介結果に入る。
分離レベル (Isolation Level)
| Isolation(分離レベル) | Dirty Read(ダーティーリード) | Non-Repeatable Reads(反復不可能読み取り) | Phantom Reads(ファントムリード) |
|---|---|---|---|
| Read Uncommitted(非コミット読み取り) | 起こりうる | 起こりうる | 起こりうる |
| Read Committed(コミット済み読み取り) | - | 起こりうる | 起こりうる |
| Repeatable Read(繰り返し可能読み取り) | - | - | 起こりうる |
| Serializable(直列化可能) | - | - | - |
製品
DB2
© 2006 矢木浩人