mysql 中的B+B-树

Posted s0705130

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 中的B+B-树相关的知识,希望对你有一定的参考价值。

1. 基本的二叉树查找 

    每个节点的出度是2,所以查找的时间复杂度,O(log2底n)

2.B- 树

 每个节点会包含key数组、point数组和data,

   key的大小则为出度大小,用d表示,所以查找的时间复杂度是 O(logd底n),所以效率

   高很多。

3.B+ 树

  每个节点point的个数上限是2d,不是2d+1,

  节点上没有data字段,比较适合外存储索引结构,

   许多实际的存储系统在经典B+树基础上实现了顺序访问指针,就是叶子节点可以访问相邻的节点。

4.DB里面为什么使用B-(B+)树

   每次新建节点的时候,可以申请一个页的空间,保证在物理上也是一个页的大小,这样访问一个节点只需要一次IO,

   另外时间复杂度很低。

 

 

参考 : http://blog.codinglabs.org/articles/theory-of-mysql-index.html


O(log2n)O(log2n)

 

以上是关于mysql 中的B+B-树的主要内容,如果未能解决你的问题,请参考以下文章

MySQL与Btree

B+树在mysql数据库索引中的使用

mysql中的几种存储引擎

C/C++:如何将数据存储在 B 树中的文件中

平衡多路查找树中的多路是什么意思

Mysql之B+树索引实战