主键、自增主键、主键索引、唯一索引概念区别与性能区别
来源:互联网 发布:联想 没落 知乎 编辑:程序博客网 时间:2024/05/13 13:41
概念区别:
主键:指字段唯一不为空值的列。
主键索引:指的就是主键,主键没有明确的概念定义,主键既是约束,也是索引,主键是索引的一种,是唯一索引的特殊类型。创建主键的时候,数据库默认会为主键创建一个唯一索引。
自增主键:字段类型为数字、自增、并且是主键。
唯一索引:索引列的值必须唯一,但允许有空值。主键是唯一索引,这样说没错。但反火来说唯一索引也是主键就错误了,因为唯一索引允许空值,主键不允许有空值,所以不能说唯一索引也是主键。
性能区别:
通过测试,发现主键、自增主键、唯一索引的查询效率不一样,当然这个差距很小,总结为:
查询:唯一索引 > 自增主键 > 主键(主键索引)
插入:主键 > 自增主键 > 唯一索引
测试场景:
创建3个表,名字段相同:id,name,money,tradDate
各插入100W条相同的数据
table A:id为主键,table B:id自增并且是主键,tableC:id创建唯一索引
查询:
性能:唯一索引 >自增主键> 主键(主键索引)
A表(主键):0.06s
B表(自增主键):0.01s,
C表(唯一索引):0.00s
插入:
10W条数据,批量插入,性能:主键 >自增主键 > 唯一索引
A表(主键):38.408s
B表(自增主键):38.708s,
C表(唯一索引):39.018s
写了这么多,忽然感觉做这个测试没有什么意义,有木有?
0 0
- 主键、自增主键、主键索引、唯一索引概念区别与性能区别
- 主键、自增主键、主键索引、唯一索引概念区别与性能区别
- 主键、自增主键、主键索引、唯一索引概念区别与性能区别
- 主键与唯一索引的区别
- 主键与唯一索引的区别
- 主键与唯一索引的区别
- 主键索引和唯一索引的区别
- 主键索引和唯一索引的区别
- 主键与唯一索引
- 主键、唯一键与唯一索引的区别
- 主键、唯一键与唯一索引的区别
- Oracle 主键、唯一键与唯一索引的区别
- 主键、唯一键与唯一索引的区别
- Oracle主键、唯一键与唯一索引的区别
- 主键、唯一键与唯一索引的区别
- 主键与索引的区别
- 主键与索引的区别
- 主键和唯一索引的区别
- c语言回顾--函数
- Android5.0 短信拦截技术分析
- Spring+Mybatis整合(2)- SSM(五)
- 设计模式之装饰者模式(一)
- atitit.MIZIAN 陕北方言 特有词汇 大词典 attilax 整理 a--g v1 q31.xlsx
- 主键、自增主键、主键索引、唯一索引概念区别与性能区别
- C++上机报告(一)
- TCP 状态机
- Android事务理解和Fragment的执行事务
- PHP error_reporting() 错误控制函数功能详解
- 实战activeMQ
- Java支持的数据类型有哪些?什么是自动拆装箱?
- 《python 基础教程》第四章 字典:当索引不好用时
- Linux 学习笔记 2016年3月2日, PM 10:01:30