根页面位置万年不动
总结
创建出的第一个节点,称为根节点,我们插入数据就会插入到其中。当这个节点满了,并不是向上创建目录页。而是根节点本身变为目录页。
原本根节点的数据会被复制一份到根节点下方,然后再在根节点上创建新的子节点存储新的记录。如下图所示
- 每当为某个表创建一个B+树索引(聚簇索引不是人为创建的,默认就有)的时候,都会为这个索引创建一个
根节点
页面。
最开始表中没有数据的时候,每个B+树索引对应的根节点
中既没有用户记录,也没有项目记录。 - 随后向表中插入用户记录是,先把用户记录存储到这个
根节点
中 - 当根节点中
可用空间
用完时继续插入记录,此时会将根节点
中所有记录复制到一个新的分配页。原本的根节点
会变为存储记录页的目录页。 - 整个过程
根节点
不会移动。
内节点中目录项记录的唯一性
B+树的内节点目录项记录内容是 索引列+页号
的搭配,但对于二级索引有点不严谨。
由于二级索引的 索引列
有可能重复,所以存储的时候会索引列+主键+页号
这样来搭配。
索引列+主键+页号
这样来搭配。