[15-445]B+Tree memo

B 树是一个家族,感觉 B+Tree 对于喜欢使用 MySQL 的我来说是最常听说的数据库索引结构之一了。但是我从来没有从头到尾自己实现过一个 B+Tree,像类似的数据结构,感觉不真正自己写一次就很难领悟其中的细节。

 

 

B+ Tree 的定义

 

 

 

当我们在组织这个树型结构的时候,我们是以节点的形式组织的。节点分为 inner node 和 leaf node。node 也是以 key/value pairs 组织的。

比如我在使用 MySQL 的时候我对一个表的某个字段建立了索引,那么这个二级索引字段应该就是这个 key 。 那么他的 value 应该是对应表的主键 id。叶子节点里面就存储了所有你需要的东西,你不再需要再去别处查找。但是对于 postgreSQL,当你 traverse 到叶子节点的时候,

 

 

 

Reference:

https://15445.courses.cs.cmu.edu/fall2022/slides/08-trees.pdf

https://dichchankinh.com/~galles/visualization/BPlusTree.html

 

posted @ 2022-11-14 15:34  piperck  阅读(27)  评论(0编辑  收藏  举报