正答1
解説
正解は1です。
ロックの粒度とは、1回のロックで占有するデータの範囲の大きさです。
粒度を大きくするとロック管理は簡単になりますが、同時に実行できるトランザクションが減ります。
【選択肢別解説】
1:○ 粒度を大きくすると1つのロックが広い範囲を占有するため、他のトランザクションの待ちが増え、全体のスループットが低下します。
2:× 粒度を大きくすると、同じ範囲を使うトランザクションが待たされます。
同時実行できる数は増えるのではなく減ります。
3:× 粒度を大きくすると占有範囲が広がり、他のトランザクションのアクセスを妨げる可能性はむしろ高まります。
参照を妨げないようにする効果はありません。
4:× 粒度を大きくすると1つのロックで多くのデータを押さえられるので、かけるロックの個数は少なくなります。
【ポイント】
粒度大はロック数が少なく管理が楽な反面、並行性が下がります。
粒度小はロック数が多く管理の負荷が増える反面、並行性が上がるというトレードオフです。