ロックの粒度に関する説明のうち,適切なものはどれか。
ロック粒度を大きくすると競合が増え同時実行性が下がる
選択肢
- アデータを更新するときに,粒度を大きくすると,他のトランザクションの待ちが多くなり,全体のスループットが低下する。
- イ同一のデータを更新するトランザクション数が多いときに,粒度を大きくすると,同時実行できるトランザクション数が増える。
- ウ表の全データを参照するときに,粒度を大きくすると,他のトランザクションのデータ参照を妨げないようにできる。
- エ粒度を大きくすると,含まれるデータ数が多くなるので,一つのトランザクションでかけるロックの個数が多くなる。
正解と解説
正解:ア データを更新するときに,粒度を大きくすると,他のトランザクションの待ちが多くなり,全体のスループットが低下する。
ロックの粒度とは一度にロックする範囲の大きさを指す。粒度を大きく(表単位など)すると、1件しか更新しない場合でも広い範囲が押さえられ、他のトランザクションが待たされる時間が増える。その結果、同時実行性が下がり単位時間当たりの処理件数が落ちる。
選択肢ごとの解説
- ア粒度を大きくすると待ちが増えてスループットが落ちるという、正しい因果関係。
- イ粒度を大きくすると競合が増えるので、同時実行できる数はむしろ減る。
- ウ粒度を大きくしても他の処理を妨げないというのは逆で、広く押さえるほど妨げやすい。
- エ粒度を大きくすると一つのロックが広い範囲を覆うので、ロックの個数はむしろ減る。
同じ分野の他の問題
- DBMSに実装すべき原子性(atomicity)を説明したものはどれか。2024年度 公開問題 科目A 問7
- トランザクションが,データベースに対する更新処理を完全に行うか,全く処理しなかったかのように取り消すか,のどちらかの結果…2023年度 公開問題 科目A 問7
- ディスク障害時に、フルバックアップを取得してあるテープからディスクにデータを復元した後、フルバックアップ取得時以降の更新…2019年度 春期 午前 問57
- 2相ロッキングプロトコルに従ってロックを獲得するトランザクションA、Bを図のように同時実行した場合に、デッドロックが発生…2019年度 秋期 午前 問29
- 一つのトランザクションはトランザクションを開始した後、五つの状態(アクティブ、アボート処理中、アボート済、コミット処理中…2019年度 秋期 午前 問28
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。