【MySQL和Redis】索引为什么选B+树,而不是跳表?

MySQL索引为什么不用跳表,Redis为什么不用B+树

知识引入

在讲述问题之前,我相信来到这里的朋友一定都是事先了解过 B+ 树、跳表这两种数据结构了的。

所以下面介绍这两种数据结构的时候,只是整体描述一下,并不会细致地讲什么是 B+ 树,什么是跳表;毕竟咱们今天的主要内容并不是介绍数据结构。

什么是MySQL中的B+树?

  1. B+树一般由多个页、多层级组成,在MySQL中每个页 16 kb。
  2. 主键索引的 B+ 树的叶子结点才是数据,非叶子结点存放的是索引信息
  3. 上下层的页通过单指针相连
  4. 同一层级的相邻的数据页通过双指针相邻

B+ 树的大致图像如下:

什么是跳表?

跳表的结构就像是由单链表结构衍生出来的,但是它的效率却比普通的单链表高上很多

跳表的最底层是单链表,但是跳表也是具有多层级的

在普通的单链表中,不管要寻找什么元素&#x

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值