FOREIGN KEYS
cukup pastikan data Anda konsisten.
Mereka tidak meningkatkan kueri dalam arti efisiensi, mereka hanya membuat beberapa kueri yang salah gagal.
Jika Anda memiliki hubungan seperti ini:
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))
, maka Anda tidak dapat menghapus department
jika memiliki beberapa employee
's.
Jika Anda memberikan ON DELETE CASCADE
ke FOREIGN KEYS
definisi, baris referensi akan dihapus secara otomatis bersama dengan yang direferensikan.
Sebagai batasan, FOREIGN KEY
sebenarnya memperlambat kueri sedikit.
Pemeriksaan ekstra perlu dilakukan saat menghapus dari tabel referensi atau memasukkan ke tabel referensi.