あるトランザクション処理は、①共有領域から値を読み取り、②読み取った値に数値を加算し、③結果を共有領域に書き込む手順からなっている。複数のトランザクションを並列に矛盾なく処理するためには、トランザクション処理のどの時点で共有領域をロックし、どの時点でロックを解除するのが適切か。
更新の消失を防ぐには読取り前にロックし書込み後に解除する

| 共有領域のロック | 共有領域のロック解除 | |
|---|---|---|
| ア | 時点(a) | 時点(c) |
| イ | 時点(a) | 時点(d) |
| ウ | 時点(b) | 時点(c) |
| エ | 時点(b) | 時点(d) |
選択肢
- ア時点(a)にロック、時点(c)に解除
- イ時点(a)にロック、時点(d)に解除
- ウ時点(b)にロック、時点(c)に解除
- エ時点(b)にロック、時点(d)に解除
正解と解説
正解:イ 時点(a)にロック、時点(d)に解除
読み取ってから書き込むまでの間に他のトランザクションが同じ領域を更新すると、加算結果が失われる(更新の消失)。これを防ぐには、読取りを始める前にロックを掛け、書込みが完了した後に解除する必要がある。書込み前の時点で解除すると、その隙に他の処理が古い値を読んでしまう。
選択肢ごとの解説
- ア書込み前に解除しているため、その間に他の処理が古い値を読み取るおそれがある。
- イ正解。読取り前にロックし、書込み完了後に解除すれば更新の消失を防げる。
- ウ読取り後にロックしており、読取り時点の競合を防げないうえ解除も早すぎる。
- エ解除の時点は適切だが、読取り前にロックしていないため競合を防げない。
同じ分野の他の問題
- DBMSのトランザクションに関する記述として、適切なものはどれか。2025年度 秋期 問61
- トランザクション処理に関する記述のうち、適切なものはどれか。2024年度 秋期 問74
- トランザクション処理におけるコミットの説明として、適切なものはどれか。2023年度 秋期 問66
- トランザクション処理のACID特性に関する記述として,適切なものはどれか。2022年度 秋期 問77
- 金融システムの口座振替では、振替元の口座からの出金処理と振替先の口座への入金処理について、両方の処理が実行されるか、両方…2021年度 秋期 問62
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。