外键强制执行参照完整性。这些约束保证了表中order_details
具有order_id
引用表的字段的orders
行将永远不会具有表order_id
中不存在的值orders
。
外键不需要具有有效的关系数据库(实际上MySQL的默认存储引擎不支持FK),但是对于避免断开关系和孤立行(即参照完整性),它们绝对是必不可少的。是必需的在数据库级别实施参照完整性的能力Ç 在ACID站。
至于您对性能的关注,通常会有性能成本,但是可能会忽略不计。我建议您输入所有外键约束,如果您遇到无法解决的实际性能问题,请仅在没有它们的情况下进行试验。