[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