B+树详解,一次就懂

?注意:不会直接讲 B+树的结构,会从最简单的二叉树开始讲起来 。如果认真看完,我想你对树类型的数据结构的理解又上了一个新的台阶 。
?如果有误,请大家指出 。下文均是在B站学习的过程中,总结的笔记和心得体会
索引结构
MySQL索引是在 存储引擎层 实现的,不同的存储引擎层,有不同的索引结构,主要包含四种索引:
名称简介
B+树索引
最常见的索引类型
Hash索引
底层是由 哈希表 实现 (?性能很强,但是!不支持范围查询)
空间索引(R-tree)
是引擎 的一个特殊索引类型,主要用于地理空间数据类型
全文索引(Full-text)
通过建立倒排索引方式,来快速匹配文档 。
我们会从 二叉树 到 B+树
1、二叉树
2、B 树1. 多叉搜索树
上面我们知道了二叉搜索树,实际上多叉树和二叉树的区别就是: 多叉搜索树中的节点,可以存储多个元素 。这样,导致多叉搜索树有多个分支
问题:二叉搜索树可以完成节点的高效增删改查,为啥会有多叉树的出现?
2. B 树
也叫 多路平衡查找树,实际上就是一颗多叉搜索树
B+ 树
和B 树类似,不过做了一些改变
非叶子节点,不存储数据,起到一个索引的作用
B+ 树 的数据结构中,叶子节点之间形成了单向链表 。每一个节点的指针,通过叶子节点指向下一个元素 。
B+ 树(MySQL)
MySQL中的 B+ 树,对经典的B+ 树结构进行了一个优化 。在原基础上,叶子节点又增加了一条相邻叶子节点的指针 。
【B+树详解,一次就懂】Hash索引