B+树:MySQL数据库中建立索引的数据结构

在MySQL数据库中是通过B+树的数据结构建立索引的。

相比二叉树,B树是一种多叉树,总层数更少,磁盘io次数也会相应减少。而与B树不同的是,B+树把索引和数据分开存储,数据以链表的形式存放在B+树的叶子结点上,使得非叶子结点每一层能存放更多索引,层数也相应减少,树结构更加‘矮胖’,使得磁盘io次数降为最小。

值得注意的是,只有主键是聚簇索引,即叶子结点存放的是原始数据。其余的索引是非聚簇索引,叶子节点存放的是主键的引用,所以每次查非主键的索引会遍历两颗B+树,先遍历非聚簇索引的B+树,查到主键的索引后再遍历聚簇索引的那颗B+树,从叶子节点的链表中取得数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值