innodb B+树主键索引的叶子节点存的是什么?
我说是行,面试官说错,存的是页,
2 个回答
鸟随鸾凤飞腾远,人伴贤良品自高。无邪B+树的叶子节点是page (页),一个页里面可以存多个行发布于 2021-11-20 17:27 •IP属地 辽宁举报评论收藏
不必太张扬,是花自然香。kettyInnoDB磁盘管理的最小单位就是“页”,也就是说无论是叶子节点、非叶子节点和行数据,都是存放在页当中。 页组成结构有头部数据、主体数据和尾部数据。 头部数据主要存的是页相关数据,例如上一页、下一页、当前页号等。是一个双向链表结构。 主体数据主要关注索引和数据的存储,也就是我们常说的索引和数据的存储位置。主体数据当中有一个“User Records”的概念,用来存储索引和数据,是一个单链表结构。 User Records根据节点的不同,User Records又分为四种不同类型:主键索引树叶子节点和非叶子节点,二级索引树叶子节点和非叶子节点。 有了页和User Records的认识,其实说叶子节点存的是页是一种笼统的回答,基于我的理解,我认为叶子节点(主键索引树叶子节点)存放的是行数据更为贴切。发布于 2021-11-15 07:42 •IP属地 云南举报评论收藏
公众号进入网站体验更佳

