初涉后台开发未深,诚惶诚恐看 <SQL 反模式>,学习最佳实践。
发现现在这个项目应用了不少反模式,其中最让我困惑的是,完全不使用外键,涉及到外键的逻辑全部在应用代码里实现。
询问项目负责人,告知不使用数据库外键主要有两原因:
- 多台服务器不停机升级时,有可能数据库新加入的外键限制导致新程序没办法在旧数据库上跑
- 运维人员对数据库外键深恶痛绝(举例说唯品会就是这样做的)
听起来只要是分布式的服务器热升级(第一点原因)、或者团队里有运维人员,就应该抛弃数据库外键了。
业界都是这样做的吗?书上说的当真脱离了实际?
谢不吝赐教。