外键的优点:
- 降低开发成本,借助数据库自身触发器来保持数据一致性并更新。
- 将数据库设计人员和开发人员职责分离。
外键的缺点:
- 需要数据库软件内部维护。
- 把事务交给DB来完成。
- 增、删、更新都会进行 check 耗费资源。
- 因为外键会请求关联表进行加锁,所以会导致死锁。
现在实际工作中很少使用外键,更多是为了并发考虑。打破硬性的规范,获得更大的灵活性(比如,不由DB实现而由spring的事务实现),并最终在总体上实现一致性。
本文探讨了数据库外键的优缺点,包括它们如何帮助维护数据一致性,但也消耗资源可能导致死锁。在实际工作中,由于并发考虑和灵活性需求,外键的使用减少,更多依赖如Spring事务来实现一致性。这种转变反映了开发策略的变化,即在牺牲一些严格规范的同时,寻求更高的系统性能。
外键的优点:
外键的缺点:
现在实际工作中很少使用外键,更多是为了并发考虑。打破硬性的规范,获得更大的灵活性(比如,不由DB实现而由spring的事务实现),并最终在总体上实现一致性。
983

被折叠的 条评论
为什么被折叠?