大家在设计数据库的时候,一般会不会加外键

2019 年 3 月 25 日
 zhuwd
8704 次点击
所在节点    程序员
57 条回复
ChoateYao
2019 年 3 月 25 日
没有 DBA,不加外键。

有 DBA 看 DBA 意见。
rexyan
2019 年 3 月 25 日
DBA 说 mysql 中不要用
allanzhuo
2019 年 3 月 25 日
强烈反对使用外键的懒政行为
blueskea
2019 年 3 月 25 日
我们没加,说是影响性能
passerbytiny
2019 年 3 月 25 日
只要不是纯数据库编程,就不要加任何跟性能优化无关的约束,比如外键。
cylmsun
2019 年 3 月 25 日
没 DBA 加了有过教训,现在新开的都不用了
Raymon111111
2019 年 3 月 25 日
不要用外键

只用逻辑外键
salamanderMH
2019 年 3 月 25 日
程序保证外键依赖就可以了
mooncakejs
2019 年 3 月 25 日
业务系统会加,互联网项目不加
Hstar
2019 年 3 月 25 日
内部用用的没性能要求的小项目加,预计有性能要求的不加
fox0001
2019 年 3 月 25 日
加了外键,数据维护很麻烦
banxi1988
2019 年 3 月 25 日
以下是我个人意见,如有问题,欢迎指出:

1. 加是规范,不加是反模式。
2. 过早优化是万恶源,有些人担心性能问题不加,我建议先加,有性能问题再具体分析。
3. 数据据的一致性比较重要的话,建议加,做正确的事情确实是要多付出点代价,但是一般是值得的。
niubee1
2019 年 3 月 25 日
外键可以强制维护关系数据的完整性, 但是增加数据维护的成本
tabris17
2019 年 3 月 25 日
ORM 框架自己生成,它愿意加就加
qsbaq
2019 年 3 月 25 日
从没用过外检。
haofei
2019 年 3 月 25 日
非互联网公司没有高并发要求可以使用
tongz
2019 年 3 月 25 日
1. 对数据的一致性有极高的要求
2. 对性能要求较低
满足以上条件可以加
micean
2019 年 3 月 25 日
部分加部分不加
Mac
2019 年 3 月 25 日
最早期用过,但不利于扩展字段,后来彻底摒弃
loading
2019 年 3 月 25 日
外键是啥玩意,我都是自己 join

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/548250

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX