美文网首页
MySQL 为什么选择 B+ 树作为索引结构

MySQL 为什么选择 B+ 树作为索引结构

作者: lotusgrm | 来源:发表于2020-09-29 17:49 被阅读0次

MySQL 用于衡量数据查询的效率是 磁盘 I/O 次数,一般来讲索引比较大,尤其是对于关系型数据库这种数据量俺的所以能达到亿级别的,为了节省内存的使用,一般会将索引存储到磁盘中

当 B树 或者 B+ 树作为索引结构的时候,它们有一个共同的特点,每一层节点的数目比较多,但是层数很少,这样做的目的是为了减少磁盘 I/O 的次数,但是对于 B 树,它的每一个节点还包含有 data 域,这样的话就增大了节点的大小,其实就是增加了磁盘 I/O 的次数,因为磁盘 I/O 一次读取出的数据量大小是固定的,单个数据变大,每次读取出的就少,导致磁盘 I/O 的次数增多,而对于 B+ 树,除了叶子节点以外的其他节点都没有存储 data 域,每个节点小,磁盘 I/O 的次数也少,B+ 树中的 data 域是存储在叶子节点中,并且所有叶子节点都有一个链指针,这样只需要遍历叶子节点就能获取到所有的数据,能实现范围查询,在数据查询的场景中,范围查询的使用频率很高,但是 B 树不支持这种遍历操作

相关文章

  • MySQL数据库索引选择使用B+树

    为什么MySQL数据库索引选择使用B+树? 在进一步分析为什么MySQL数据库索引选择使用B+树之前,我相信很多小...

  • MySQL

    索引 InnoDB MySQL5.6版本之后默认引擎是innoDB,以B+树作为索引的数据存储结构。B+数是以B树...

  • Mysql - 组合索引的B+树存储结构(最左前缀原理)

    Mysql的B+树索引在单列索引上比较好理解,结构如下: 那组合索引的B+树存储结构是什么样的呢,为什么会有最左前...

  • mysql索引

    从数据结构角度 1、B+树索引(O(log(n))):关于B+树索引,可以参考MySQL索引背后的数据结构及算法原...

  • MySQL 为什么选择 B+ 树作为索引结构

    MySQL 用于衡量数据查询的效率是 磁盘 I/O 次数,一般来讲索引比较大,尤其是对于关系型数据库这种数据量俺...

  • 倒排索引与数据库索引

    数据库索引 mysql索引以B+树作为存储结构,B+树的主要特点是,非叶子节点不存储数据,数据只存储在叶子节点上,...

  • 聊一聊B+树

    标签: 图解B+树 | B+树代码|mysql 聚集索引|mysql B+树索引| 前言   虽然B+是B-演化过...

  • MySQL中的InnoDB索引

    为什么是B+树? 在MySQL的InnoDB存储引擎中,索引的数据结构是B+树。B+树是一棵N叉树,在总结点数不变...

  • MySQL索引及其优化

    MySQL中索引实现的底层数据结构 B+树索引 InnoDB可以使用这个也可以选择Hash InnoDB引擎中索引...

  • MySQL基础索引优化流程

    MySQL索引简介 一种优化查询的数据结构,比如Mysql中的索引是用B+树实现的,而B+树就是一种数据结构,可以...

网友评论

      本文标题:MySQL 为什么选择 B+ 树作为索引结构

      本文链接:https://www.haomeiwen.com/subject/fzweuktx.html