RDBMSのロックの粒度に関する次の記述において、
a、bの組合せとして適切なものはどれか。
並行に処理される二つのトランザクションがそれぞれ
一つの表内の複数の行を更新する。行単位のロックを
使用する場合と表単位のロックを使用する場合とを比
べると、ロックの競合がより起こりやすいのは a 単位
のロックを使用する場合である。また、トランザクション
実行中にロックを管理するためのRDBMSのメモリ使用
領域がより多く必要になるのは b 単位のロックを
使用する場合である。
┌───┬───┐
│ a │ b │
┌─┼───┼───┤
│ア│ 行 │ 行 │
├─┼───┼───┤
│イ│ 行 │ 表 │
├─┼───┼───┤
│ウ│ 表 │ 行 │
├─┼───┼───┤
│エ│ 表 │ 表 │
└─┴───┴───┘
ロックの粒度はロックの範囲の大きさと考えるとよい。
行単位と、表単位では行単位の方が粒度が小さく、
表単位の方が、粒度が大きいと言える。
また、ロックの競合が起こりやすいのは、粒度が大きい方である。
従って、aには表が入る。
トランザクションが多ければ多いほど、メモリ使用領域は、多く必要になる。
従って、表単位でロックするよりも、トランザクション単位でロックする方が
メモリ使用領域がより多く必要になる。
トランザクション単位でロックするということは、行単位でロックすることになるため、
bには行が入る。
EXCEL VBAのご相談なら ファーストマクロ へ