ロックの粒度に関する説明のうち、適切なものはどれか。
ア データを更新するときに、粒度を大きくすると、他のトランザクションの待ちが多くなり、全体のスループットが低下する。
イ 同一のデータを更新するトランザクション数が多いときに、粒度を大きくすると、同時実行できるトランザクション数が増える。
ウ 表の全データを参照するときに、粒度を大きくすると、他のトランザクションのデータ参照を妨げないようにできる。
エ 粒度を大きくすると、含まれるデータ数が多くなるので、一つのトランザクションでかけるロックの個数が多くなる。
解説を読む
正解:ア
解説:
DBには複数のユーザーから同時アクセスを受けることがあります。この際にデータに矛盾が起きないようにするためにアクセス権が確立すると占有(ロック)して他のユーザーからのアクセスを受けないようにします。このロックを掛ける範囲のことをロック粒度と呼びます。ロック粒度を大きくすると占有している領域が広くなるのでデッドロックの発生を減らすことができますが、他のユーザーの待ち時間が長くなる傾向にあります。
ア.ロック粒度が大きいとスループット(時間あたりの処理量)は低下します。
イ.ロック粒度が大きいと同時実行できるトランザクションは減ります。
ウ.ロック粒度が大きいと他のトランザクションからの参照を妨げます。
エ.ロック粒度が大きいとロックの個数は少なくて済みます。
解説を閉じる
コメント