問題
RDBMS のロックに関する記述のうち、適切なものはどれか。ここで、X、Y はトランザクションとする。
選択肢
- 1X が A 表内の特定行 a に対して共有ロックを獲得しているときは、Y は A 表内の別の特定行 b に対して専有ロックを獲得することができない。
- 2X が A 表内の特定行 a に対して共有ロックを獲得しているときは、Y は A 表に対して専有ロックを獲得することができない。
- 3X が A 表に対して共有ロックを獲得しているときでも、Y は A 表に対して専有ロックを獲得することができる。
- 4X が A 表に対して専有ロックを獲得しているときでも、Y は A 表内の特定行 a に対して専有ロックを獲得することができる。
正解
2. X が A 表内の特定行 a に対して共有ロックを獲得しているときは、Y は A 表に対して専有ロックを獲得することができない。
詳しい解説を見る解説を閉じる
解説
共有ロックは複数のトランザクションによる同時読込みを許すが、専有ロックは他のどのロックとも両立しない。X が A 表内の行 a に共有ロックをかけていると、表全体に意図ロックがかかるため、Y は A 表全体に対して専有ロックを獲得できない。アは別の行 b には専有ロックを獲得できるので誤り、ウは表の共有ロックと専有ロックが衝突するので誤り、エは表の専有ロックと行の専有ロックが衝突するので誤り。よってイが正解。(出典: 令和元年度 秋期 応用情報技術者試験 午前 問28)
一問一答
全400問を繰り返し学習