深入理解mysql的innodb索引机制

什么是索引:一种数据结构,能更快的检索到需要的数据
为什么选择b+树?
链表的检索效率是:o(n),平衡二叉树的检索效率是logn,b树的检索效率是logn

b树其实是多路平衡树,在每个节点存储的关键字更多,发生的io读取次数就少,效率高,有效利用了磁盘的预读能力

b+树是b树的变种,体现在:
只有叶子节点存储数据,非叶子节点用来做索引,每个叶子节点均有指向前一个和后一个叶子的指针

综上:b+树和b树比较:
扫库和扫表能力更强(只需要遍历叶子节点就可以遍历整棵树)
查询效率更加稳定(数据均存储在叶子节点)

聚蔟索引和非聚蔟索引

聚蔟索引:数据和主键索引存储在一起
主索引的叶子节点存储的是键值对应的数据本身,辅助索引的叶子节点存储的是键值对应的数据的主键键值

非聚蔟索引:数据表和索引表是分开存储的
主索引和辅助索引几乎是一样的。他们的叶子节点的key都存储了指向键值对应的数据的物理地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值