数据存储

B 树和 B+ 树

2018-07-09  本文已影响125人  vckah

B-Tree,称为 B 树,有人叫 B 减树,这是直译过来的。
B 树是一种多路平衡查找树,每一个节点最多包含 k 个孩子,k 被称为 B 树的阶。k 的大小取决于磁盘页的大小。
特征:

  1. IO 次数少 2. 查询性能稳定; 3. 范围查询简便。

B 树可以在非叶子节点命中,而 B+ 树只有达到叶子节点才命中。
所有的关键字都出现在叶子节点链表中,且都是有序的

数据库相关

MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址


图片来源于网络

InnoDB的数据文件本身就是索引文件。从上文知道,MyISAM索引文件和数据文件是分离的,索引文件仅保存数据记录的地址。而在InnoDB中,表数据文件本身就是按B+Tree组织的一个索引结构,这棵树的叶节点data域保存了完整的数据记录。这个索引的key是数据表的主键,因此InnoDB表数据文件本身就是主索引。


图片来源于网络
InnoDB的所有辅助索引都引用主键作为data域。
上一篇下一篇

猜你喜欢

热点阅读