为什么不推荐外键

2 分钟阅读 357 字 + 163 词
  1. 性能影响 插入和删除操作变慢 ,外键约束要求数据库在插入和删除期间做 额外的完整性检查 ,这会 导致性能下降 。大批量的插入或者更新操作也会因为外键约束变得更加耗时。
  2. 灵活性受限 :数据库迁移重构困难,使用外键可能会使数据库结构变更更加复杂,因为外键增加了表之间的依赖性。
  3. 复杂管理 :事务复杂性,外键可能会导致更加复杂的事务管理。
  4. 分布式系统的局限 :在微服务架构或者分布式数据库中,可能不便于使用外键,因为不同的服务或数据库实例可以在不同的节点上运行,会有一致性的问题。
  5. 应用层管理 :所以一般时在应用层通过业务逻辑来维护数据一致性,而不是依赖外键约束。
何时使用外键呢?
明确的数据完整性需求 :当确保数据完整性至关重要时,外键约束可以提供可靠的保障。
数据模型简单 :在简单的数据模型中,外键对于维护基本的数据关系是有效的。
开发效率优先 :对于小型项目或者开发效率优先的项目,外键可以简化数据完整性管理。

目录