前言
数据页结构和聚簇索引 两篇文章已经介绍了数据页的结构和数据页的组织方式。Mysql利用B+树的形式将所有数据页组织起来,达到了高效索引数据的目的,并且设定了页内数据根据主键有序排列,页间也同样根据主键有序的规则。数据是源源不断产生的,聚簇索引必须不断调整、生长,才能满足有序、B+树的要求,本节通过追踪一批数据的插入过程,来讲解聚簇索引生长过程中,示例数据、图片来自B站视频 mysql索引:b+树的生成过程,本篇文章在此视频基础上补充相关细节。
阅读完本篇文章,你就能明白,为何推荐使用自增id作为主键,为何推荐逻辑删除而不是物理删除,为何推荐批量插入而不是单条循环插入等规范。
插入数据
以数字型主键为例,插入一批数据,假设每个数据页只能存3条数据,方便演示页分裂过程,插入id顺序如下:

当表创建时,只有一个空的根页存在,假设页号为1,插入id = 9,17两条数据后,如下:

继续插入id =3的数据,显然这里需要

最低0.47元/天 解锁文章
2972

被折叠的 条评论
为什么被折叠?



