多版同時実行制御(MVCC)とは?
多版同時実行制御(MVCC)とは、更新時に古い版のデータを残し、読取り側にはトランザクション開始時点の版を見せることで、読取りと書込みが互いに待たない同時実行制御方式。読む人は書く人を、書く人は読む人をブロックしない点が特徴で、多くの実用DBMSが採用している。
たはんどうじじっこうせいぎょ
多版同時実行制御(MVCC)の意味
更新時に古い版のデータを残し、読取り側にはトランザクション開始時点の版を見せることで、読取りと書込みが互いに待たない同時実行制御方式。読む人は書く人を、書く人は読む人をブロックしない点が特徴で、多くの実用DBMSが採用している。
多版同時実行制御(MVCC)の具体例
TR1が長い集計クエリを実行している最中にTR2が単価を更新しても、TR1にはTR1開始時点の旧版が見え続けるため一貫した集計結果が得られ、TR2も待たされない。不要になった旧版は後からバキューム処理などで回収される。
多版同時実行制御(MVCC)は試験でどう引っ掛けられる?
「MVCCならロックは不要」ではない。同じ行を同時に更新する場合の書込み同士は依然として排他が必要である。また旧版がディスクを圧迫するため、長時間開きっぱなしのトランザクションが領域を膨張させる副作用がある。
多版同時実行制御(MVCC)と関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。