データベース

平成30年度 春期 基本情報技術者試験 午前 問30

RDBMS のロックの粒度に関する次の記述において,a,b の組合せとして適切なものはどれか。 並行に処理される二つのトランザクションがそれぞれ一つの表内の複数の行を更新する。行単位のロックを使用する場合と表単位のロックを使用する場合とを比べると,ロックの競合がより起こりやすいのは a 単位のロックを使用する場合である。また,トランザクション実行中にロックを管理するための RDBMS のメモリ使用領域がより多く必要になるのは b 単位のロックを使用する場合である。
選択肢の表:
ab
ア行行
イ行表
ウ表行
エ表表
答えを選ぶ

出典:平成30年度 春期 基本情報技術者試験 午前 問30(問題文は IPA の公開問題。解説は当サイト作成)

答えと解説を見る

正解:ウ

覚える知識

ロックの粒度とトランザクション並行性

ロック粒度が小さい(行)と並行性は高いがロック管理の資源を多く消費し、粒度が大きい(表)と逆になる。

この問題で必要なこと

ロック単位が表だと競合しやすく、管理するロック数が少ないのでメモリは少ない。行単位は競合しにくいが、ロック数が増えメモリを多く使う。

ひっかけ

競合しやすさとメモリ使用量を同じ側に取り違える。

この知識の出題:本試験系 2 回・免除試験 2 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「トランザクションと排他制御(ロック・デッドロック)」で学ぶ

同じ知識の過去問