二つのトランザクションが、同じデータに対して、更新、参照を行う時に発生し得るダーティリードの事象を記述したものはどれか。
ア | トランザクションAがある検索条件を満たすある表の行の集合を参照した。 次に、トランザクションBがトランザクションAと同じ検索条件を満たす新しい行を挿入しコミットした。 その後、トランザクションAが同じ検索条件で再度検索すると、以前には存在しなかった行が出現した。 |
イ | トランザクションAがある表の行の列を参照した。 次に、トランザクションBがその列の値を更新しコミットした。 その後、トランザクションAがその列を再度参照すると、以前の値と異なっていた。 |
ウ | 二つのトランザクションがそれぞれ2相ロックをかけ、デッドロックを起こした。 |
エ | まだコミットしていないトランザクションAの更新後データをトランザクションBが参照した。 その後、更新後データはロールバックされた。 |
答え エ
【解説】
ダーティリードはトランザクションの処理と中のデータを、他のトランザクションが参照してしまう現象なので、解答は
まだコミットしていないトランザクションAの更新後データをトランザクションBが参照した。
その後、更新後データはロールバックされた。
(エ)になります。
【キーワード】
・ダーティリード