B+ 树原理详解:从查找、分裂到合并,手写一棵能跑的树
数据库按主键查一行,为什么通常只读 3 个页?为什么主键建议短一点?为什么范围查询快,而 LIKE '%关键词' 快不起来? 这些问题的答案,都在 B+ 树的形状里。 本文不背结论,直接从一棵小树开始:先定规则,再走一遍查找、插入、删除、范围查询,最后写出完整实现。全文用 order=4(每个节点最多 4 个孩子、3 个 key),小到能在纸上画完;核心规则和真实数据库一致,真实实现另外还多了并发、锁、页头等工程细节。 ...
数据库按主键查一行,为什么通常只读 3 个页?为什么主键建议短一点?为什么范围查询快,而 LIKE '%关键词' 快不起来? 这些问题的答案,都在 B+ 树的形状里。 本文不背结论,直接从一棵小树开始:先定规则,再走一遍查找、插入、删除、范围查询,最后写出完整实现。全文用 order=4(每个节点最多 4 个孩子、3 个 key),小到能在纸上画完;核心规则和真实数据库一致,真实实现另外还多了并发、锁、页头等工程细节。 ...