几个星期以来,我一直在阅读mysql的内部信息,有一个问题令我困惑。
me always.We都知道叶页在B+树数据结构中充当索引,并且
存储在非叶page.But上的真实数据如何知道哪一个是
页页还是非叶页?有人点亮我吗?tks。
发布于 2018-10-24 04:40:17
页面标题中有一个PAGE_LEVEL字段。如果是零,那就是一页叶子。
int leaf_page = mach_read_from_2(page + PAGE_HEADER + PAGE_LEVEL) == 0;我们都知道叶页在B+树数据结构中充当索引,而实际数据存储在非叶页面上。
这句话说不通。可以说,表存储在名为PRIMARY或(如果使用唯一索引作为主索引时为GEN_CLUSTER_INDEX)的索引中。主要索引是B+树。索引的键是主键字段。在非叶页中,键是键,下面是页的值-是页id .在叶页中,键再次是键,但值是表字段的其余部分。
辅助索引也是B+树。索引的关键字是次键字段,值是记录的主键。
https://stackoverflow.com/questions/52941537
复制相似问题