MySQL(十二)】Innodb b树索引页
上一篇看了存储用户数据的索引页结构,这里再看下b树索引是怎么存的。
本质上b树索引也是存在索引页这一种类型的页上的,和一样。不同的点在于user records区域存的内容不用而已。索引只需要存储索引值+页号即可,如果不是主键索引,还需要存主键值。另外这些记录的行格式的type是1,表明是索引类型的记录。其余基本类似,page directory区域也存储了每一组的最大索引值。
所以查找过程就是:先从索引节点开始搜索,根据page directory区域使用二分法定位到索引行在内页的位置,根据索引行定位到下一级索引页的位置,再递归查找下一个索引页,直到定位到数据页。
(本篇图片全部来自掘金小册中《MySQL是怎样运行的》一书)