FOREIGN KEYS
chỉ cần đảm bảo dữ liệu của bạn nhất quán.
Chúng không cải thiện các truy vấn theo nghĩa hiệu quả, chúng chỉ thực hiện một số truy vấn sai.
Nếu bạn có một mối quan hệ như thế này:
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))
, thì bạn không thể xóa department
nếu nó có một số employee
của.
Nếu bạn cung cấp ON DELETE CASCADE
vào FOREIGN KEY
định nghĩa, các hàng tham chiếu sẽ tự động bị xóa cùng với các hàng được tham chiếu.
Như một ràng buộc, FOREIGN KEYS
thực sự làm chậm các truy vấn một chút.
Cần kiểm tra thêm khi xóa khỏi bảng được tham chiếu hoặc chèn vào bảng tham chiếu.