トランザクション分離レベルまとめ
投稿日: 更新日:
3つのリード現象
まず、前提知識として3つのリード現象を説明します。
ダーティーリード
ダーティーリードとは、未確定の変更を他の人が読み取ってしまうことです。
ノンリピータブルリード
ノンリピータブルリードとは、他のトランクザクションの影響により同じ行を読み込んでも異なる結果となってしまうことです。
ファントムリード
ファントムリードとは、他のトランクザクションの影響により取得する行数が変わってしまうことです。
トランザクション分離レベル
DBMSではこれらを防止するため、いくつかの分離レベルがあります。
〇:防止可能 ✕:防止不可
分離レベル | ダーティーリード | ノンリピータブルリード | ファントムリード |
---|---|---|---|
READ UNCOMMITTED | ✕ | ✕ | ✕ |
READ COMMITTED | 〇 | ✕ | ✕ |
REPEATABLE READ | 〇 | 〇 | ✕ |
SERIALIZABLE | 〇 | 〇 | 〇 |
参考文献
すっきり分かるSQL入門第3版 飯田理恵子、中山清喬 (2022) インプレス