FOREIGN KEYS
データに一貫性があることを確認してください。
効率という意味ではクエリを改善せず、間違ったクエリを失敗させるだけです。
このような関係がある場合:
CREATE TABLE department (id INT NOT NULL)
CREATE TABLE employee (id INT NOT NULL, dept_id INT NOT NULL, FOREIGN KEY (dept_id) REFERENCES department(id))
、その後、department
を削除することはできません employee
がいる場合
ON DELETE CASCADE
を指定した場合 FOREIGN KEY
へ 定義では、参照している行は、参照されている行と一緒に自動的に削除されます。
制約として、FOREIGN KEY
実際にはクエリが少し遅くなります。
参照テーブルから削除するとき、または参照テーブルに挿入するときは、追加のチェックを実行する必要があります。