MySql(27)InnoDB的B+树索引的注意事项

根页面位置万年不动

总结

创建出的第一个节点,称为根节点,我们插入数据就会插入到其中。当这个节点满了,并不是向上创建目录页。而是根节点本身变为目录页。

原本根节点的数据会被复制一份到根节点下方,然后再在根节点上创建新的子节点存储新的记录。如下图所示

  • 每当为某个表创建一个B+树索引(聚簇索引不是人为创建的,默认就有)的时候,都会为这个索引创建一个 根节点 页面。
    最开始表中没有数据的时候,每个B+树索引对应的 根节点 中既没有用户记录,也没有项目记录。
  • 随后向表中插入用户记录是,先把用户记录存储到这个 根节点
  • 当根节点中可用空间用完时继续插入记录,此时会将 根节点中所有记录复制到一个新的分配页。原本的 根节点会变为存储记录页的目录页。
  • 整个过程 根节点 不会移动。

内节点中目录项记录的唯一性

B+树的内节点目录项记录内容是 索引列+页号 的搭配,但对于二级索引有点不严谨。
由于二级索引的 索引列 有可能重复,所以存储的时候会索引列+主键+页号这样来搭配。

索引列+主键+页号这样来搭配。

一个页面最少存储两条记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值