- B+Tree的结构
B+Tree是B-Tree的变种,实际结构如图
绿色框框起来的部分,是索引部分,仅仅起到索引数据的作用,不存储数据。红色框框起来的部分,是数据存储部分,在其叶子节点中要存储具体的数据
- B+Tree的特点
所有的数据都会出现在叶子节点。
叶子节点形成一个单向链表。
非叶子节点仅仅起到索引数据作用,具体的数据都是在叶子节点存放的。
5阶的B树,每一个节点最多存储4个key,对应5个指针。
一旦节点存储的key数量到达5,就会裂变,中间元素向上分裂。
在B树中,非叶子节点和叶子节点都会存放数据。 - mysql中的实际使用
主键索引:非叶子节点存的就是主键索引,而叶子节点存储的除去索引还存了整行的数据
普调索引:与主键索引不同,叶子节点存的是索引和主键id(没有主键就是row id)