1:在大数量的情况下,使用外键约束会导致很差的性能。一般互联网应想都不要去想外键这种东西了,连表连接查询最好都不要使用
2:大数据量时进行表的水平切分,像外键约束、触发器、存储过程这些都是禁区
3:数据完整性是业务的需要,因此得由业务层的应用程序来控制
4:外键会导致表结构非常混乱,几乎是动都不能去动,一层套一层的外键约束,在表很多的情况下很可能会导致循环约束

为什么尽量不要使用外键相关推荐

  1. 架构师之路 — 数据库设计 — 关系型数据库的外键约束与关联

    目录 文章目录 目录 外键约束 外键关联 外键的作用 外键的性能问题 是否使用外键? 使用外键的守则 互联网应用应该尽量避免使用外键 在业务逻辑中模拟数据库外键 on delete/update 的外 ...

  2. Oracle外键需要建索引吗?

    关于Oracle中的外键,首先要说明一下. 1. 除非已定义了父表主键或唯一键约束,否则oracle将不允许创建子表的外键约束. 2. 在定义外键约束时,oracle不会自动创建索引,所以必须手动在与 ...

  3. ORACLE中关于外键缺少索引的探讨和总结

    在ORACLE数据库中,定义外键约束时,ORACLE是不会自动创建对应索引的,必须手动在外键约束相关的列上创建索引.那么外键字段上是否有必要创建索引呢?如果有必要的话,巡检时,如何找出外键字段上没有创 ...

  4. 什么是外键,外键的作用

    什么是外键: 如果一个实体的某个字段指向另一个实体的主键,就称为外键.被指向的实体,称之为主实体(主表),也叫父实体(父表).负责指向的实体,称之为从实体(从表),也叫子实体(子表) 外键的作用: ① ...

  5. MySQL 学习笔记(14)— 数据库设计流程、实体关系图、第一范式、第二范式、第三范式、外键使用

    本文参考:https://gitbook.cn/gitchat/column/undefined/topic/5db92c12a9c3a53bc3800f0c 1. 数据库设计流程 数据库设计是对数据 ...

  6. mysql外键教程_MySQL外键使用详解

    最近有开始做一个实验室管理系统,因为分了几个表进行存储·所以要维护表间的关联··研究了一下MySQL的外键 . (1)只有InnoDB类型的表才可以使用外键,mysql默认是MyISAM,这种类型不支 ...

  7. Mysql无法创建外键的原因

    在Mysql中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因. 1.  两个字段的类型或者大小不严格匹配.例如,如果一个 ...

  8. Oracle 创建数据表以及对数据表、字段、主外键、约束的操作

    选择主键的原则: 最少性 尽量选择使用单个键作为主键 稳定性 尽量选择数值更新少的列作为主键 1.创建数据表(CREATE TABLE) --创建数据表Student create table Stu ...

  9. MySql外键学习总结

    mysql添加外键 为已经添加好的数据表添加外键: 语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表 ...

  10. 外键查询_传统关系型数据库查询性能提高思路

    相信现阶段依然有许多的企业信息化项目依然采用单体架构,其数据存储主要方式依然以关系型数据库为主,比如oracle.mysql.postgresql等.企业初期,各种原因导致研发人员身兼数职,都是全栈的 ...

最新文章

  1. 解决掉这些痛点和难点,让知识图谱不再是“噱头”
  2. 51Talk音视频技术实践和独特挑战
  3. 技术她力量,鹅厂女博士的寻“豹”之旅
  4. 002 在大数据中基础的llinux基本命令
  5. 简单的01背包和完全背包
  6. SetProcessWorkingSetSize减少内存占用
  7. ICCV 2019 | 基于轻量级新架构OSNet的域适应改进ReID
  8. 配置连接池连接oracle,Oracle连接池怎么配置
  9. User-Defined-Literal自定义字面量
  10. MogDB数据库安装部署之xlog目录设置
  11. mysql null 优化_MySQL如何优化IS NULL?
  12. go有没有php的array,实现类似php的array_column方法
  13. 兄弟們,彈鋼琴不是只有有錢人可以玩的
  14. java.lang.NoSuchMethodError 之 依赖冲突解决方案
  15. jQuery 遍历 - closest() 方法 is()方法
  16. html5行走的机器人,HTML5 不倒翁体型的机器人
  17. sql 语句实现电话号筛选,例如:AABB,ABAB
  18. Ubuntu 屏幕颜色校准
  19. 安装Python module
  20. error: prototype for ‘xxx‘ does not match any in class ‘XXX‘

热门文章

  1. cad模糊查询符号_SQL模糊查询条件的四种匹配模式
  2. AndroidStudio历史记录找回本地修改代码
  3. opencv-4学习(三)图像的基本操作
  4. jquery中after与insertAfter有什么区别
  5. 尼康测试软件,[带图片]尼康p7000简单测试
  6. Finchley.SR2 中没有@HystrixCommand 注解
  7. 一个小员工如何让一家大银行一夕倒闭(附几则)
  8. Substrate 为区块链创新而来
  9. 中国即客代表人物-余莹
  10. 游戏《孢子》的思考 —— Metaball的逻辑,实现及对应思考