問題
データベースのデッドロックが発生したときの対処として、適切なものはどれか。
選択肢
- 1すべてのトランザクションを完了させる
- 2一方のトランザクションをロールバックする
- 3システム全体を再起動する
- 4ロックを解除して継続する
正解
2. 一方のトランザクションをロールバックする
詳しい解説を見る解説を閉じる
解説
デッドロック発生時の一般的な対処は、一方のトランザクション(犠牲者)を選んでロールバックさせ、残りのトランザクションを継続させることです。犠牲者選択は処理時間や優先度を基に行います。タイムアウトや待ちグラフによる検出が用いられ、検出後の自動ロールバックが多くのDBMSで実装されています。アプリケーション側でリトライ処理を実装することも重要です。
一問一答
全400問を繰り返し学習