当前位置:网站首页>Mysql 索引
Mysql 索引
2022-04-23 06:23:00 【cqwoniu】
1、什么是索引
在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
2、索引的分类
a、主键索引:设置为主键后数据会自动建立索引,innodb为聚簇索引。
b、单值索引:即一个索引包含单个列,一个表可以有多个单列索引,也叫普通索引
c、唯一索引:索引的值必须唯一,但允许有空值,它和主键索引的最大区别是主键索引不能有空值,但是唯一索引允许有一个空值
d、复合索引:即一个索引包含多个列
e、全文索引:innodb不支持,fulltext类型。

3、索引的原理
底层采用的是B+树的结构,只有叶子结点才能存储key和数据,非叶子结点只能存放key.
B+树每个节点可以包含更多的节点,这样降低了树的高度,数据范围变为多个区间,区间越多,数据检索速度越快。叶子节点两两连指针相互连接,符合磁盘的预读特性,顺序查询性能更高。
为什么没有选择B树,因为B树要求非叶子结点必须存放数据。

4、聚簇索引和非聚簇索引的区别
聚簇索引将数据存储与索引放到了一块,索引结构的叶子结点保存了数据,主键索引一定是聚簇索引;
非聚簇索引将数据与索引分开存储,索引结构的叶子结点指向了数据对应的位置。
在innodb中,在聚簇索引上创建的索引称之为辅助索引,非聚簇索引称之为辅助索引。
5、聚簇索引的优势,聚簇索引需要注意什么,为什么主键通常建议自增id

6、什么情况下无法利用索引
7、Innodb与Myisam的区别

版权声明
本文为[cqwoniu]所创,转载请带上原文链接,感谢
https://blog.csdn.net/cqwoniu/article/details/124151767
边栏推荐
猜你喜欢

Take you to travel in space, and American photography technology provides comprehensive technical support for aerospace creative applet

可视化常见绘图(五)散点图

组合数求解与(扩展)卢卡斯定理

javscript获取文件真实后缀名
![[COCI]Lampice (二分+树分治+字符串哈希)](/img/7b/fe2a45d960a6d3eb7dc25200304adc.png)
[COCI]Lampice (二分+树分治+字符串哈希)

H5案例开发

Nacos/sentinel网关限流和分组 (代码)

可视化之路(十)分割画布函数详解

Javscript gets the real suffix of the file

el-select 中v-model绑定值,数据回显只显示value,不显示label
随机推荐
开发板如何ping通百度
8.分页查询
Object.create()原理,Object.create()规范,手写Object.create(),Object.create()用法
积性函数前缀和——杜教筛
按需引入vant组件
LATEX使用
理解补码的要点
青龙面板拉库命令更新【2022/4/20】收藏不走丢
快速傅里叶变换FFT简明教程
海康威视面经总结
通用型冒泡、选择、插入、希尔、快速排序的代码实现
[牛客练习赛68]牛牛的粉丝(矩阵快速幂之循环矩阵优化)
Mysql的存储引擎
van-uploader上传图片实现过程、使用原生input实现上传图片
【TED系列】一个习惯是如何改变我的一生
9.常用函数
el-select 中v-model绑定值,数据回显只显示value,不显示label
可视化常见绘图(四)柱状图
Wireless communication system for large-scale sports events
1D/1D动态规划学习总结