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

平成31年度 春期 午前Ⅱ 問18

トランザクション処理

多版同時実行制御に関する問題

DBMSの多版同時実行制御(MVCC)に関する記述として,適切なものはどれか。

答えと解説を見る

✓ これが正解ア同時実行される二つのトランザクションのうち,先発のトランザクションがデータを更新し,コミットする前に,後発のトランザクションが同じデータを参照すると,更新前の値を返す。

解説

更新中のデータを読むと、MVCCは更新前の版の値を返します。

多版同時実行制御(MVCC)は、データを更新するときに更新前の値を版として残しておく方式です。あるトランザクションが更新してまだコミットしていない間に、別のトランザクションが同じデータを読みに来ると、待たせるのではなく、残してある更新前の版を返します。このため、読む側が書く側のロックの解除を待たずに済み、同時に実行できる度合いが高まります。先発が更新してコミットする前に後発が参照すると更新前の値を返す、という記述はこの動きそのものです。版を複数持ち、読む側には確定済みの版を見せる、と押さえておくと、ロックを使う方式の説明と区別できます。

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

この問題の用語

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

同じ用語が出る問題

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