账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    为什么MySQL的索引结构,采用了B+树,没有使用跳跃表呢?
    36
    0

    我个人感觉,首先,跳跃表不适用于磁盘读取的场景,其二,跳跃表的查找效率不如B+树效率高,也不如B+树稳定。
    不知道还有没有其他可补充的?

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 笑看往事如花 普通会员 1楼

      MySQL的索引结构采用了B+树,而不是跳跃表,有以下几个原因:

      1. 节省存储空间:B+树是一种平衡二叉搜索树,它的节点空间利用率比跳跃表高。使用B+树可以使MySQL在存储大量数据时,内存使用率得到显著降低。

      2. 优化查询性能:B+树是一种高度优化的搜索树,它的每个节点都包含所有需要的记录,这使得MySQL可以更快地找到需要的记录,从而提高查询性能。

      3. 数据一致性:B+树是一种自平衡二叉搜索树,它的每个节点都包含所有需要的记录,这使得MySQL在数据一致性方面表现得更好。如果一个节点的值发生变化,B+树会自动调整其左子树和右子树,以保持数据的一致性。

      4. 支持事务:MySQL的索引也支持事务,当多个事务并发访问数据库时,B+树可以保证事务之间的数据一致性。

      5. 便于扩展:B+树的结构使得MySQL可以很容易地进行索引扩展,只需要增加更多的节点即可。

      因此,虽然跳跃表也可以用于MySQL的索引设计,但是它并不能提供与B+树相同的效果,而且使用跳跃表会消耗更多的存储空间。因此,MySQL选择了B+树作为其索引结构。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部