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

平成26年度 春期 午前Ⅱ 問14

トランザクション処理

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

データベースのトランザクション T2 の振る舞いのうち,ダーティリード(dirty read)に関する記述はどれか。

答えと解説を見る

✓ これが正解イトランザクション T1 が行を更新し,トランザクション T2 がその行を検索する。その後 T1 がロールバックされると,T2 はその行に存在しない値を読んだことになる。

解説

取り消されるかもしれない未確定の更新を読むのが、ダーティリードです。

ダーティリードは、あるトランザクションがまだコミットしていない更新の値を、別のトランザクションが読んでしまう現象です。T1 が行を更新したあと、コミットする前に T2 がその行を読むと、T2 は確定していない値を受け取ります。その後 T1 がロールバックされると、T2 が読んだ値はデータベースに一度も確定しなかった値になります。コミット前の値を読んだかどうかが見分けの軸で、コミット後の値を読んで起きる現象とは区別されます。同時実行で起きる現象は、何を読んだか、いつ読んだかの組で整理すると見分けられます。

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

この問題の用語

出典:平成26年度 春期 データベーススペシャリスト試験 午前Ⅱ 問14

同じ用語が出る問題

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