テクノロジ系
複数のトランザクションが、互いに相手が確保しているロックの解放を待ち続け、双方とも処理が進まなくなる状態が発生した。このときDBMSがとる典型的な対応として適切なものはどれか。
- A両方のトランザクションを同時にコミットする
- Bロックの粒度を大きくして再試行する
- ✓いずれか一方のトランザクションを強制的にロールバックし、確保していたロックを解放する
- Dトランザクションの分離レベルをREAD UNCOMMITTEDに変更する
解説
この状態はデッドロックであり、DBMSはデッドロックを検知すると、いずれか一方のトランザクションを強制的にロールバックしてロックを解放し、他方の処理を続行させる。
根拠テクノロジ系:データベース(トランザクション管理・排他制御・デッドロック)