過去問解きまくり研究所 ホーム

令和4年度 秋期 午前Ⅱ 問14

トランザクション処理

隔離性水準に関する問題

トランザクション T_1 がある行 X を読んだ後,別のトランザクション T_2 が行 X の値を更新してコミットし,再び T_1 が行 X を読むと,以前読んだ値と異なる値が得られた。この現象を回避する SQL の隔離性水準のうち,最も水準の低いものはどれか。

答えと解説を見る

✓ これが正解ウREPEATABLE READ

解説

読み直しで値が変わるのを防ぐ最低の水準は REPEATABLE READ です。

設問の現象は、T_1 が同じ行 X を2回読む間に、T_2 が行 X を更新してコミットしたため、1回目と2回目で異なる値が得られたというものです。コミット済みの値を読んでいるので、コミット前のデータを読むダーティリードではありません。同じ行の読み直しで値が変わる現象を防ぐ水準は REPEATABLE READ で、一度読んだ行を同じトランザクションの中で読み直したとき、同じ値が返ることが保証されます。SERIALIZABLE でも防げますが、最も低い水準を問われているので REPEATABLE READ が答えです。隔離性水準を低い順に並べ、現象を初めて防げる位置を探すと答えが一つに決まります。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:令和4年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問14

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)