MySQL为什么叶子节点使用的是双向链表?

今天去面试一个小公司问到的一个问题,当时脑子卡了一下,然后觉得范围查找,分组查找,排序查找好像通过单向链表也可以实现,所以这个问题可能没有答出来,然后现在觉得使用双向链表的原因是MySQL在维护这个B+数索引页的时候,有时候因为存放的主键值不一定是自增的,所以就可能需要频繁的裂页、分页来维护这个B+树索引,所以在裂页的时候通过双向列表就可以直接找到前驱节点了,不需要再重新遍历链表,所以使用了双向链表;
全部评论
底层叶子结点是数据页,数据页里要进行二分查找确定到最终的记录,我记得叫next record还是啥的
2 回复 分享
发布于 2023-09-29 02:22 湖北
为什么找到前驱的叶子结点,就可以完成分页了……
点赞 回复 分享
发布于 2023-09-25 23:33 江苏
你怎么查小于某个值的数据?
点赞 回复 分享
发布于 2023-10-25 14:12 浙江

相关推荐

10-27 17:26
东北大学 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
4 5 评论
分享
牛客网
牛客企业服务