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 a departmentjika memiliki beberapa employee.
Jika Anda menyediakan ON DELETE CASCADEkepada FOREIGN KEYdefinisi, baris referensi akan dihapus secara otomatis bersama dengan yang direferensikan.
Sebagai batasan, FOREIGN KEYsebenarnya sedikit memperlambat kueri.
Pemeriksaan ekstra perlu dilakukan saat menghapus dari tabel referensi atau memasukkan ke tabel referensi.