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实际上会使查询变慢了一点。
从引用表中删除或插入引用表时,需要执行额外的检查。



