また、排他制御で頻繁に生じる問題として「デッドロック」があります。これは、2つ以上のトランザクションが互いに相手が保持しているロックの解除を待ち合ってしまい、処理が永久に停止してしまう現象です。デッドロックを防ぐためには、データへのアクセス順序ルールをシステム全体で統一する、あるいはロックの待ち時間にタイムアウト(時間切れ)を設定して強制的に処理を終了させるなどの設計上の工夫が必要です。
IT試験(ITパスポートや基本情報技術者試験)では、共有ロックと占有ロックの動作の違いと、それらの組み合わせの可否が非常によく問われます。共有ロック同士は同じデータに対して同時にかけることができますが、占有ロックはすでに他の共有ロックや占有ロックがかかっているデータに対してかけることはできません。このルールを表(マトリクス)形式で読み解く問題が定番です。
また、デッドロックの発生条件と、その対策方法についてもよく出題されます。特に「アクセスするテーブルの順序を全てのトランザクションで統一することによってデッドロックを回避できる」という対策方法は、設計の基本として頻出の知識です。さらに、トランザクションの同時実行によって引き起こされる問題(更新消失のほか、未確定データを読み込んでしまう「ダーティリード」など)と、それを防ぐためのトランザクション分離レベル(アイソレーションレベル)の関係についての理解も深く問われます。
排他制御に関連する用語としては、一連の処理単位である「トランザクション」、データ処理の信頼性を担保するルール「ACID特性」、永久の待ち状態を招く「デッドロック」、読み取り時のみに用いる「共有ロック」、更新時に他を排除する「占有ロック」などがあり、これらを網羅的に理解することがデータベースの設計や試験対策において重要となります。