美文网首页
b+tree高度

b+tree高度

作者: pangxiaofei | 来源:发表于2017-09-28 13:57 被阅读137次

我们知道IO次数取决于b+数的高度h,假设当前数据表的数据为N,每个磁盘块的数据项的数量是m,则有h=㏒(m+1)N,当数据量N一定的情况下,m越大,h越小;而m = 磁盘块的大小 / 数据项的大小,磁盘块的大小也就是一个数据页的大小,是固定的,如果数据项占的空间越小,数据项的数量越多,树的高度越低。这就是为什么每个数据项,即索引字段要尽量的小,比如int占4字节,要比bigint8字节少一半。这也是为什么b+树要求把真实的数据放到叶子节点而不是内层节点,一旦放到内层节点,磁盘块的数据项会大幅度下降,导致树增高。当数据项等于1时将会退化成线性表。

相关文章

  • b+tree高度

    我们知道IO次数取决于b+数的高度h,假设当前数据表的数据为N,每个磁盘块的数据项的数量是m,则有h=㏒(m+1)...

  • Mysql索引结构

    一、B+Tree 二、B+Tree分析 mysql使用的是B+Tree,为什么不使用B-Tree呢,主要是树结构决...

  • b+tree数据结构、limit、order by、 group

    b+tree数据结构、limit、order by、 group by、where 分析思路: 从b+tree索引...

  • MySQL索引优化案例分析

    MySQL中的索引分类 按算法来分类包括B+Tree、Hash两种,大多数情况下会采用B+Tree。B+Tree与...

  • MySQL索引

    索引结构种类(Index Method) B+tree索引 哈希索引 B+tree 分类 聚集索引(主键索引) 非...

  • BTree和B+Tree详解

    BTree和B+Tree详解

  • MySQL索引底层

    1.分析B树 相关概念 B-Tree B+Tree B+Tree与B-Tree区别 Mysql底层结构 InnoD...

  • 为什么MySql索引采用B+tree

    为什么MySql索引采用B+tree?

  • MYSQL索引结构的思考

    MYSQL的 innodb索引结构是 B+tree B+tree 是有 二叉树-> 平衡二叉树- > B-tree...

  • b+树

    B+Tree是在B-Tree基础上的一种优化,B-Tree中每个节点同时保存key和data,而B+Tree非叶子...

网友评论

      本文标题:b+tree高度

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