MySQL:聚簇索引的优缺点


prtyaa
prtyaa 2024-01-27 23:40:15 64922 赞同 0 反对 0
分类: 资源
MySQL:聚簇索引的优缺点

优点:

1、可以把相关数据保存在一起,例如可以根据用户id来聚集数据,这样只需要从磁盘读取少数的数据页就能获取某个用户的全部邮件,如果没有使用聚簇索引,那么每一封邮件都可能导致一次磁盘的IO。

2、访问数据更快,聚簇索引将索引和数据保存在一个B+树上,因为比非聚簇索引获取数据更快,非聚簇索引还得回表到聚簇索引上根据主键查询需要的数据行。

3、使用索引覆盖扫描的查询可以直接使用页节点中的主键值。

缺点:

1、插入速度严重依赖于插入顺序,按照主键的顺序插入是加载数据页到InnoDB表中速度最快的方式。但是如果不按照主键顺序加载数据,那么在加载完成后最好使用 optimize table 命令重新组织一下表。

2、更新聚簇索引列的代价很高,因为会强制InnoDB将每个被更新的行移动到新的位置。插入的时候会面临页分裂的问题。页分裂会导致表占用更多的磁盘空间。

3、二级索引可能比想象的大,因为二级索引的叶子结点保存了引用行的主键

4、二级索引访问需要两次索引查找,要回表,对于innodb,自适应hash索引能够减少这样的重复工作。


聚簇索引的每一个叶子结点都包含了主键值,事务ID,用于事务和MVCC的回滚指针,以及所有的剩余字段,也就是一行数据即非主键的所有列。

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
prtyaaL1
粉丝 1 资源 1949 + 关注 私信
最近热门资源
银河麒麟桌面操作系统V10SP1-2403-update1版本中,通过“麒麟管家-设备管理-硬件信息-硬盘”查看硬盘类型时,显示的是HDD(机械硬盘),而实际上该笔记本的硬盘类型为SSD  130
以openkylin为例编译安装内核  120
分享解决宏碁电脑关机时自动重启的方法  111
国产操作系统环境搭建(内含镜像资源链接和提取码)  111
分享如何解决报错:归档 xxx.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作  105
统信uosboot区分未挂载导致更新备份失败  104
分享几个在日常办公中可以用到的shell脚本  100
bat脚本生成查看电脑配置\硬件信息  95
loadrunner常见问题整理  90
常见系统问题及其解决方法  90
最近下载排行榜
银河麒麟桌面操作系统V10SP1-2403-update1版本中,通过“麒麟管家-设备管理-硬件信息-硬盘”查看硬盘类型时,显示的是HDD(机械硬盘),而实际上该笔记本的硬盘类型为SSD 0
以openkylin为例编译安装内核 0
分享解决宏碁电脑关机时自动重启的方法 0
国产操作系统环境搭建(内含镜像资源链接和提取码) 0
分享如何解决报错:归档 xxx.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作 0
统信uosboot区分未挂载导致更新备份失败 0
分享几个在日常办公中可以用到的shell脚本 0
bat脚本生成查看电脑配置\硬件信息 0
loadrunner常见问题整理 0
常见系统问题及其解决方法 0
作者收入月榜
1

prtyaa 收益401.43元

2

哆啦漫漫喵 收益253.43元

3

zlj141319 收益238.66元

4

IT-feng 收益219.97元

5

1843880570 收益214.2元

6

风晓 收益208.24元

7

777 收益173.2元

8

Fhawking 收益106.6元

9

信创来了 收益106.03元

10

克里斯蒂亚诺诺 收益91.08元

请使用微信扫码

添加我为好友,拉您入交流群!

请使用微信扫一扫!