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

令和6年度 秋期 午前Ⅱ 問12

トランザクション処理

ダーティリードに関する問題

二つのトランザクションが,同じデータに対して,更新,参照を行うときに発生し得るダーティリードの事象を記述したものはどれか。

答えと解説を見る

✓ これが正解エまだコミットしていないトランザクションAの更新後データをトランザクションBが参照した。その後,更新後データはロールバックされた。

解説

コミット前の更新を他が読み、その更新がロールバックされる事象です。

ダーティリードは、まだコミットされていないデータを、別のトランザクションが読んでしまうことです。トランザクションAの更新後のデータを、A がコミットする前にトランザクションBが読み、その後Aがロールバックすると、Bは結局存在しなかったことになる値をもとに処理を進めたことになります。正しくない値を読んだことになるので、ダーティ(汚れた)読込みと呼ばれます。見分ける軸は、読んだデータがコミット済みかどうかです。コミット済みの値が変わって見えるのは反復不可能な読込み、行が増えて見えるのはファントムで、未コミットの値を読むのがダーティリードと、三つを並べて覚えておきましょう。

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

この問題の用語

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

同じ用語が出る問題

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