トランザクション処理 (全58問中31問目)
No.31
DBMSの排他制御に関する記述のうち,適切なものはどれか。
出典:平成24年春期 問33
- アクセス頻度の高いデータの処理速度を上げるためには,排他制御が必要である。
- 処理速度を上げるため,排他制御を行うデータの範囲は極力大きくすべきである。
- データアクセス時のデッドロックを防止するために,排他制御が必要である。
- 複数の人が同時に更新する可能性のあるデータには,排他制御が必要である。
分類
テクノロジ系 » データベース » トランザクション処理
正解
エ
解説
排他制御は、同時更新による更新消失を防止し、データベースの一貫性を保つためにデータを更新する際に更新対象のデータに対する他のトランザクションからのアクセスを禁止する方法です。
- 排他制御を行うと、ロック制御のためのオーバーヘッドやロックの解除待ちに追加の時間が必要になります。このため排他制御は処理速度を上げるために行われるわけではありません。
- ロックは表,ブロック,列といった単位でかけられます。範囲が広いほどロック解除待ち時間が長くなり並行実行力が低下するので、処理速度を高めるためにはロックの範囲を狭める必要があります。
- デッドロックは共有資源を使用する2つ以上のプロセスが、互いに相手プロセスが必要とする資源を排他的に使用している場合に発生します。排他制御はデッドロックの発生原因になります。
- 正しい。同時更新による更新消失を防ぐためには更新時に排他制御を行う必要があります。