最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

数据库设计之外键的思考

来源:懂视网 责编:小采 时间:2020-11-09 14:45:37
文档

数据库设计之外键的思考

数据库设计之外键的思考:关于是否使用外键在业界也没有统一的标准,大家争论的焦点是数据一致性和性能上。 支持使用外键方 ,强调如果不使用外键,数据一致性无法保证,性能消耗可以忽略。 反对使用外键方 ,数据一致性可以通过程序保证,性能有大问题,数据维护很麻烦,如果是大系
推荐度:
导读数据库设计之外键的思考:关于是否使用外键在业界也没有统一的标准,大家争论的焦点是数据一致性和性能上。 支持使用外键方 ,强调如果不使用外键,数据一致性无法保证,性能消耗可以忽略。 反对使用外键方 ,数据一致性可以通过程序保证,性能有大问题,数据维护很麻烦,如果是大系

关于是否使用外键在业界也没有统一的标准,大家争论的焦点是数据一致性和性能上。 支持使用外键方 ,强调如果不使用外键,数据一致性无法保证,性能消耗可以忽略。 反对使用外键方 ,数据一致性可以通过程序保证,性能有大问题,数据维护很麻烦,如果是大系

关于是否使用外键在业界也没有统一的标准,大家争论的焦点是数据一致性和性能上。

支持使用外键方,强调如果不使用外键,数据一致性无法保证,性能消耗可以忽略。

反对使用外键方,数据一致性可以通过程序保证,性能有大问题,数据维护很麻烦,如果是大系统,整个外键的关系就像编制的一张大网。再者开发人员很难真正用好外键。

其实两种观点我都支持,现状是我基本没用过外键。没使用外键会出现什么问题呢?

1.数据一致性无法保证。出现这种情况最多的情况是,如A表示基础表,它被很多模块引用,B表是业务表,A表中删除了数据,B表的数据关联A的信息没有删除,导致写SQL时会出现大量的外连接。

2.从表上没有建索引。如果从表上有外键,这种情况悲剧就要发生了。请看参考我之前写的 外键不加索引引起的性能问题

3.使用外键在后台修改数据非常麻烦,当然这个不是外键的问题,只是系统自身的问题。

你看任何一本涉及到数据库设计的书籍,都会告诉你一定要使用外键,但理想和实现总是有点差距,如何选择,我的建议:

1.如果你对数据一致性要求非常高,关乎人命,钱,一定要加外键,像财务系统等。反之,可以牺牲一下,换取方便。

2.如果不加外键,基础的表(就是会被引用的表)要做逻辑删除(加一个删除的标识位),可以避免大量的外连接。

3.不管是否加外键,一定要索引。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

数据库设计之外键的思考

数据库设计之外键的思考:关于是否使用外键在业界也没有统一的标准,大家争论的焦点是数据一致性和性能上。 支持使用外键方 ,强调如果不使用外键,数据一致性无法保证,性能消耗可以忽略。 反对使用外键方 ,数据一致性可以通过程序保证,性能有大问题,数据维护很麻烦,如果是大系
推荐度:
标签: 没有 使用 数据
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top