FOREIGN KEYS
chỉ cần đảm bảo dữ liệu của bạn nhất quán.
Họ không cải thiện các truy vấn theo nghĩa hiệu quả, họ 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))
, sau đó bạn không thể xóa a department
nếu nó có một số employee
.
Nếu bạn cung cấp ON DELETE CASCADE
cho 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 hạn chế, FOREIGN KEY
thực sự làm chậm các truy vấn một chút.
Việc kiểm tra bổ sung cần được thực hiện khi xóa khỏi bảng tham chiếu hoặc chèn vào bảng tham chiếu.