为什么尽量不要使用外键
1:在大数量的情况下,使用外键约束会导致很差的性能。一般互联网应想都不要去想外键这种东西了,连表连接查询最好都不要使用
2:大数据量时进行表的水平切分,像外键约束、触发器、存储过程这些都是禁区
3:数据完整性是业务的需要,因此得由业务层的应用程序来控制
4:外键会导致表结构非常混乱,几乎是动都不能去动,一层套一层的外键约束,在表很多的情况下很可能会导致循环约束
为什么尽量不要使用外键相关推荐
- 架构师之路 — 数据库设计 — 关系型数据库的外键约束与关联
目录 文章目录 目录 外键约束 外键关联 外键的作用 外键的性能问题 是否使用外键? 使用外键的守则 互联网应用应该尽量避免使用外键 在业务逻辑中模拟数据库外键 on delete/update 的外 ...
- Oracle外键需要建索引吗?
关于Oracle中的外键,首先要说明一下. 1. 除非已定义了父表主键或唯一键约束,否则oracle将不允许创建子表的外键约束. 2. 在定义外键约束时,oracle不会自动创建索引,所以必须手动在与 ...
- ORACLE中关于外键缺少索引的探讨和总结
在ORACLE数据库中,定义外键约束时,ORACLE是不会自动创建对应索引的,必须手动在外键约束相关的列上创建索引.那么外键字段上是否有必要创建索引呢?如果有必要的话,巡检时,如何找出外键字段上没有创 ...
- 什么是外键,外键的作用
什么是外键: 如果一个实体的某个字段指向另一个实体的主键,就称为外键.被指向的实体,称之为主实体(主表),也叫父实体(父表).负责指向的实体,称之为从实体(从表),也叫子实体(子表) 外键的作用: ① ...
- MySQL 学习笔记(14)— 数据库设计流程、实体关系图、第一范式、第二范式、第三范式、外键使用
本文参考:https://gitbook.cn/gitchat/column/undefined/topic/5db92c12a9c3a53bc3800f0c 1. 数据库设计流程 数据库设计是对数据 ...
- mysql外键教程_MySQL外键使用详解
最近有开始做一个实验室管理系统,因为分了几个表进行存储·所以要维护表间的关联··研究了一下MySQL的外键 . (1)只有InnoDB类型的表才可以使用外键,mysql默认是MyISAM,这种类型不支 ...
- Mysql无法创建外键的原因
在Mysql中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因. 1. 两个字段的类型或者大小不严格匹配.例如,如果一个 ...
- Oracle 创建数据表以及对数据表、字段、主外键、约束的操作
选择主键的原则: 最少性 尽量选择使用单个键作为主键 稳定性 尽量选择数值更新少的列作为主键 1.创建数据表(CREATE TABLE) --创建数据表Student create table Stu ...
- MySql外键学习总结
mysql添加外键 为已经添加好的数据表添加外键: 语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表 ...
- 外键查询_传统关系型数据库查询性能提高思路
相信现阶段依然有许多的企业信息化项目依然采用单体架构,其数据存储主要方式依然以关系型数据库为主,比如oracle.mysql.postgresql等.企业初期,各种原因导致研发人员身兼数职,都是全栈的 ...
最新文章
- 解决掉这些痛点和难点,让知识图谱不再是“噱头”
- 51Talk音视频技术实践和独特挑战
- 技术她力量,鹅厂女博士的寻“豹”之旅
- 002 在大数据中基础的llinux基本命令
- 简单的01背包和完全背包
- SetProcessWorkingSetSize减少内存占用
- ICCV 2019 | 基于轻量级新架构OSNet的域适应改进ReID
- 配置连接池连接oracle,Oracle连接池怎么配置
- User-Defined-Literal自定义字面量
- MogDB数据库安装部署之xlog目录设置
- mysql null 优化_MySQL如何优化IS NULL?
- go有没有php的array,实现类似php的array_column方法
- 兄弟們,彈鋼琴不是只有有錢人可以玩的
- java.lang.NoSuchMethodError 之 依赖冲突解决方案
- jQuery 遍历 - closest() 方法 is()方法
- html5行走的机器人,HTML5 不倒翁体型的机器人
- sql 语句实现电话号筛选,例如:AABB,ABAB
- Ubuntu 屏幕颜色校准
- 安装Python module
- error: prototype for ‘xxx‘ does not match any in class ‘XXX‘