問題
ANSI SQL標準で定義されるトランザクション分離レベル「READ COMMITTED」で発生し得る現象はどれか。
選択肢
- 1ダーティリード(他のトランザクションが未コミットの変更を読み取る)
- 2ファントムリード(同一トランザクション内で同じ範囲検索を再実行した時に新規行が出現する)
- 3ダーティライト(他のトランザクションの未コミット変更を上書きする)
- 4いずれの現象も発生しない
正解
2. ファントムリード(同一トランザクション内で同じ範囲検索を再実行した時に新規行が出現する)
詳しい解説を見る解説を閉じる
解説
ANSI SQL標準(SQL-92)では、READ COMMITTED はダーティリードを防止するが、ノンリピータブルリードとファントムリードは発生し得る。SERIALIZABLE で初めて3つすべてが防止される。ダーティライト(書き込み競合)はどの分離レベルでも書き込みロックにより防止される。よってREAD COMMITTEDで発生し得る代表的な現象はファントムリードである。
一問一答
全400問を繰り返し学習