为了账号安全,请及时绑定邮箱和手机立即绑定

数据库主外键关系对性能到底有多大影响???

数据库主外键关系对性能到底有多大影响???

HUH函数 2018-12-06 11:18:30
看到很多公司的数据库中,都把主外键关系删除了.当然肯定是在网上看到了一些优化的文章,但是我想知道,加上主外键的关系后,对性能的影响究竟有多大呢?最好来点自身的真实数据,本人觉得这样有点得不偿失,通过程序维护数据库的完整性,更恶心.达人指点一下.
查看完整描述

8 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

我个人认为相比较而言数据的完整性和性能相比,数据的完整性更加重要。

同时如果在程序中来维护数据的完整性消耗的性能应该更大吧,而且一个大型系统表和表之间的关联式很复杂的,程序开发的过程中有时会忘记处理这块,如果没处理那就会导致数据的丢失了。

如果大批量的数据增加或删除可能会有性能损失。

我个人是比较偏向于主外键关系的

查看完整回答
反对 回复 2019-01-07
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

我通常也不会建立主外键关系,觉得交给数据库来做不太符合业务逻辑上的事,所以都是在代码中做。

查看完整回答
反对 回复 2019-01-07
?
呼唤远方

TA贡献1856条经验 获得超11个赞

主外键是唯一保证数据安全的有效方法,靠代码来维护是不可取的。
查看完整回答
反对 回复 2019-01-07
?
繁花如伊

TA贡献2012条经验 获得超12个赞

@killkill:一般大家都会在数据库做主外键,这是所谓的规定,这个问题也讨论过。各有所需。
查看完整回答
反对 回复 2019-01-07
?
慕后森

TA贡献1802条经验 获得超5个赞

不是说主外键的限制就是业务逻辑。而是,数据库的设计本来就应当是基于业务逻辑。

相对复杂系统想做到在代码中做好所有的控制,这样遗漏出错的可能性还是相当大。

查看完整回答
反对 回复 2019-01-07
?
交互式爱情

TA贡献1712条经验 获得超3个赞

当需要靠删除主外键来获得性能时,就是设计上的问题。

查看完整回答
反对 回复 2019-01-07
?
www说

TA贡献1775条经验 获得超8个赞

我是不设置外键的,在业务去控制就好了

查看完整回答
反对 回复 2019-01-07
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

搞过大数据量的就知道外键是怎样一种噩梦了。小数据量随便吧。企业级开发一般需要,web开发一般不要。

查看完整回答
反对 回复 2019-01-07
  • 8 回答
  • 0 关注
  • 1367 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信