ToB企服应用市场:ToB评测及商务社交产业平台
标题:
【后端面经】MySQL主键、唯一索引、联合索引的区别和作用
[打印本页]
作者:
汕尾海湾
时间:
2023-6-18 14:15
标题:
【后端面经】MySQL主键、唯一索引、联合索引的区别和作用
目录
0. 简介
1. 主键
2. 唯一索引
3. 联合索引
4. 索引对数据库操作的影响
5. 其他索引
5.1 普通索引
5.2 全文索引
5.3 前缀索引
6. 总结
7. 参考资料
0. 简介
索引是一类特殊的文件,用来存储检索信息,使数据库查找更加快速。
1. 主键
主键是一类特殊的唯一索引,选择某一列元素作为主键,用来表示每一行元素的特殊性,其特点如下
在一个数据表中只有一个主键;
主键不能为空(null);
主键的列数据不能重复(唯一索引的特点)。
2. 唯一索引
唯一索引是数据库中的一个索引类型,用来保证某列元素的数据唯一性,其特点如下:
一个数据表中可以有多个唯一索引;
唯一索引可以为空(null);
唯一索引的列数据不能重复。
3. 联合索引
当一个索引由多个列组成时,称为联合索引,主要用于快速查找某一特殊元素,其特点如下:
列顺序很重要:ABC和CBA是两类不同的联合索引;
一个数据表中可以有多个联合索引。
4. 索引对数据库操作的影响
索引的使用目的是为了加快查找数据的速度。
读(查找数据)
通过检索索引文件而不是整个数据库文件,能够加快读数据的速度。
写(更新数据、增删改)
索引文件是独立于数据文件的,因此在写数据的时候,需要同时更新索引文件和数据文件,因此会降低写数据的速度。
5. 其他索引
5.1 普通索引
和一般索引相比,允许列数据重复,作用是加快数据访问速度。特点如下:
一个数据表中可以有多个唯一索引;
普通索引可以为空(null);
普通索引的列数据能重复。
5.2 全文索引
用来加快对大文本数据关键字的检索,MySQL5.6之后InnoDB也支持该索引。
5.3 前缀索引
仅针对字符串类型的数据,只索引字符串的前几个字符,而不是整个字符串。因此索引文件更小。
6. 总结
对上述的几种索引的特点对比如下所示:
7. 参考资料
参考博客-1
参考博客-2
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4