RDBMSのロックの粒度に関する次の記述において、a, bの組合せとして適切なものはどれか。並行に処理される二つのトランザクションがそれぞれ一つの表内の複数の行を更新する。行単位のロックを使用する場合と表単位のロックを使用する場合とを比べると、ロックの競合がより起こりやすいのはa単位のロックを使用する場合である。また、トランザクション実行中にロックを管理するためのRDBMSのメモリ使用領域がより多く必要になるのはb単位のロックを使用する場合である。
粗い粒度は競合しやすく、細かい粒度はメモリを多く使う
選択肢
- アa=行, b=行
- イa=行, b=表
- ウa=表, b=行
- エa=表, b=表
正解と解説
正解:ウ a=表, b=行
ロックの粒度が粗い表単位のロックでは、他のトランザクションが同じ表の別の行を触るだけでも待たされるため、競合が起こりやすい。一方、細かい行単位のロックはロック情報を行ごとに保持するので、管理用のメモリ使用量が多くなる。
選択肢ごとの解説
- ア競合が起こりやすいのは粒度の粗い表単位であり、行ではない。
- イaとbの両方が逆になっている。
- ウ競合しやすいのが表単位、メモリを多く使うのが行単位で、正しい組合せ。
- エメモリを多く使うのは行単位であり、表ではない。
同じ分野の他の問題
- DBMSに実装すべき原子性(atomicity)を説明したものはどれか。2024年度 公開問題 科目A 問7
- トランザクションが,データベースに対する更新処理を完全に行うか,全く処理しなかったかのように取り消すか,のどちらかの結果…2023年度 公開問題 科目A 問7
- ディスク障害時に、フルバックアップを取得してあるテープからディスクにデータを復元した後、フルバックアップ取得時以降の更新…2019年度 春期 午前 問57
- 2相ロッキングプロトコルに従ってロックを獲得するトランザクションA、Bを図のように同時実行した場合に、デッドロックが発生…2019年度 秋期 午前 問29
- 一つのトランザクションはトランザクションを開始した後、五つの状態(アクティブ、アボート処理中、アボート済、コミット処理中…2019年度 秋期 午前 問28
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。