外部キー制約項目の更新(削除)によるロックエスカレーション 外部キー制約を使用する場合、原則的に子表の外部キーにはインデックス(第一キーに含む)を設定するようにしたい。 というのは、インデックスを設置しないと整合性チェックは子表全体のテーブルフルスキャンが実行される。 そのためにデッドロックが発生する可能性を抱えることになってしまう。 インデックスの容量と更新時のコストは少なからず消費してしまうもののデッドロックに悩まされるのとは比べられない。 ※ この状態がロックエスカレーションというのが適切かどうかはわからない。 オラクルはロックエスカレーションが発生しない行レベルによるロッキングと宣言しているので、 ロックエスカレーションと位置付けてはいない可能性もある。 しかし、実質的には行ロックと思っている状態が表ロックにエスカレート(拡大)しているケースではあることには変わりない。 外部キー制