社区
疑难问题
帖子详情
数据库外键的使用以及优缺点
qytomorrow
2016-06-14 09:34:33
现在在开发的一个系统,数据库设计之时没有考虑太多的性能问题,设置了很多外键。
看网上很多资料表示,设置外键在进行增删改操作的时候,会出现表与表之间的耦合,所以很多时候系统内存会升到好几个G。
外键到底应不应该使用,或者在什么情况下可以使用在什么情况下不建议使用。
...全文
2937
9
打赏
收藏
数据库外键的使用以及优缺点
现在在开发的一个系统,数据库设计之时没有考虑太多的性能问题,设置了很多外键。 看网上很多资料表示,设置外键在进行增删改操作的时候,会出现表与表之间的耦合,所以很多时候系统内存会升到好几个G。 外键到底应不应该使用,或者在什么情况下可以使用在什么情况下不建议使用。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
转身@未来
2016-06-14
打赏
举报
回复
我个人觉得数据库表外键使用是很有用的,首先保证了数据的完整性,但是最重要的是要合理的使用外键,过多的使用外键虽然增加了查询效率,降低了插入、更新,删除的效率。创建外键之前首先要考虑到该表以后读写情况,然后合理的创建外键。
kingtiy
2016-06-14
打赏
举报
回复
说两点吧. 外键,主要保证了数据完整性.建议是使用的. 但如果大量导数据,或者删除数据的时候,建议先禁用外键约束,等维护完成,再启用约束.
中国风
2016-06-14
打赏
举报
回复
如果是用外健的no action 选项,检查影响是一定,花销成本可以忽略不计,不会出现什么并发之类的 并发只会用到级联的更新和删除时会可以会存在,事务要尽量控制代码短,花销时间少
zbdzjx
2016-06-14
打赏
举报
回复
个人感觉:外键会影响性能,但是,很小,除非数据量很大,并发量很大,才可能有明显的影响。不然,外键的优点要明显高于缺点。
misterliwei
2016-06-14
打赏
举报
回复
使用外键主要是让SQL SERVER数据库系统来自动保证数据的完整性;缺点是对主表和从表的增删改性能会有影响。 可以通过事务来人工实现数据的完整性,但是需要做大量的测试,就怕万一有遗漏的情况。
中国风
2016-06-14
打赏
举报
回复
除非你的外健用了级联更新或删除时会有影响
中国风
2016-06-14
打赏
举报
回复
外健是数据库为了数据的完整性,安全防护,你的内存升得快同这个没关,估计是设计出了问题 比如:用到复合主健(2列以上建的主健),引用时被其它表引用 系统设计时会用到XML或表类型作为接口参数时,最好别用外健不便于维护,把约束交给程序去处理
卖水果的net
2016-06-14
打赏
举报
回复
使用外键的好处多多:1保证数据的完整性,2.关联查询时,可以用到FK 的统计信息 不使用外键的好处多多:1.删队或更新关联数据时不用做检查,效率会大符提高,2.手工调数据时,比较方便(一般不建议) 这个一定要权衡,权衡,权衡!
薛定谔的DBA
2016-06-14
打赏
举报
回复
外键虽然保证完整性,但是对于主表删除这种操作,都级联扫描一遍所有的子表取删除,数据越大越慢,锁粒度也会大。维护也麻烦,对于手动增删数据的维护,导入导出,其它高可用等,太麻烦。 还是用程序修改用事务来保证吧!~
MySQL
数据库
中的
外键
约束详解.doc
MySQL
数据库
中的
外键
约束详解.doc
为什么在创建php网站时在mysql
数据库
表中
使用
外键
?
嗨,看看这里:http://www.sitepoint.com/mysql-foreign-keys-quicker-database-development/ [^]
详解MySQL中的
外键
约束问题
主要介绍了详解MySQL中的
外键
约束问题,针对在MySQL中
使用
InnoDB表的情况,需要的朋友可以参考下
数据库
字段设计的一些建议
在
数据库
开发的时候,表之间的联系,可以用
外键
—
外键
可以带来数据的完整性和一致性。但其缺点也是显而易见的,会让开发的难度增大。本人不讨论是否
使用
外键
。因为它的作用和麻烦程度相信大家都有自己的判断。我想讨论的是,在不
使用
外键
的情况下,通过规则来使表之间存在联系。 比如,一张
数据库
,有用户,有他所在区域(村或者小区),再有其上级区域(镇乡街道)(市),区域之间上下级均有区域码。在用户所在村或者小区拥有一台机器。 这时候,用户表代表用户的字段,区域表代表区域的字段,机器表代表哪台机器的字段,是可以建立一个规则,这个规则将这三个表通过不同的但却有联系的字段关联起来的。 比如区域码-市级统一为3306x
燕十八 刘道成 mysql 复习秘籍.html
燕十八 刘道成 mysql 复习秘籍.html 给找不到的同学 一个免分数下载
疑难问题
22,302
社区成员
121,734
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章