1
workaholic 2013-03-13 10:59:39 +08:00
看应用规模了,数据量太大就要考虑性能了
|
2
pythonee 2013-03-13 17:07:17 +08:00
我司没有用,完全拿数据库当NoSQL使,奶奶的
|
3
zhuf 2013-03-13 17:56:01 +08:00
不要
|
4
zenwong 2013-03-13 18:00:21 +08:00 1
个人认为外键这种东西是理想化情况下的东西,在实际开发中你可能遇到需求上的一些问题,使你无法理想化
|
5
zerox 2013-03-13 21:36:43 +08:00
反正我司是不使用外键的,从头到尾没人提过这事,总的来说是有性能影响的,不用的话也没觉得有什么问题。ls说的好,外键是理想化情况下的东西
|
6
zer4tul 2013-03-16 04:45:06 +08:00
数据规模小,要求开发效率的话,可以用。
数据规模大的话就不要用了,对执行效率的影响挺大。另外就是dump出来source的时候麻烦。 |
7
hilyjiang 2013-03-16 08:57:16 +08:00 1
1. 要
开发及测试环境使用,有助于保证生产环境中的数据完整性 2. 不要 生产环境中,考虑性能问题,可以删除外键约束 |
9
atom 2013-03-16 10:39:57 +08:00
我司也是从来不用外键,我司更看重事务。
|
10
binjoo 2013-03-17 09:09:47 +08:00
总感觉外键很麻烦。。
|
11
saharabear 2013-03-17 09:20:36 +08:00
咱们这里讨论问题不加前提条件的吗?
银行,金融业务能不加外键吗? 个别时候银行金融业务是开发过程用外键,运行环境部署删除外键。不过大部分都会强制主外键约束。 互联网产品,就几个文章的东西,就算再复杂的文章,基本上为了性能,用冗余,不用外键。但有一些强约束的地方,就必须用外键。 |
12
saharabear 2013-03-17 09:21:23 +08:00
补充一下,银行和金融也不只是用DB2的,也有Oracle和MySQL。
|
13
wd 2013-03-17 12:41:42 +08:00
外键是用来限制数据完整性的(包括插入和删除的时候),如果你对这个要求没那么高,那么可以不要,还能节省一些性能。
|
14
daweiba 2013-03-17 15:38:11 +08:00
|
15
i36lib 2016-04-15 12:14:17 +08:00
从 Oracle 企业实施套件( Oracle EBS )学来的经验,不用,只是在代码罗就里面保证这种约束。
|
16
i36lib 2016-04-15 12:15:20 +08:00
但是要求文档或者注释要及时跟上,不然难以维护。
|