
MySQL 是索引的一种数据结构,他可以帮助数据库高校的查询、更新数据表中的数据。通过一定的排序规则排列数据表中的记录,加快对表的查询。索引一般是书籍、文献等,按照一定规则编排,方便查找特定内容的目录工具。例如,你在一个表格里面要查找自己的名字,你不同自己一行一行去看,直接在搜索栏里面搜索自己的名字。
1.定义:二叉搜索树是一种特殊的二叉树,性质:
2.结构特点

3.优势:
4.局限性:
1.定义:N叉树是每个节点最多有N个子节点(N>2)的树形结构,N的取值根据场景而定。
2.结构特点:
3. 优势:
4.局限性:
1.定义:是一种平衡的多路搜索树,在B树中每个节点的子节点可以多于两个子节点。
2.查询方式:在B树查找一个关键字,从根节点开始,根据关键字与节点中关键字的比较结构决定进入哪个节点,知道找到关键字或者达到叶子结点为止。
如果想要画图可以点击下方链接来画图:

https://cs.csub.edu/~msarr/visualizations/BTree.html

1.定义:B+是B树的一种变形,在B树的基础上进行优化,更适合在数据库中作为索引结构使用。经常用于数据库和文件系统等场合的平衡查找树。MySQL索引采用的数据结构。
2.查询方式:与B树类似,但是其可以利用叶子节点的链表结构,快速遍历范围内的所有数据。
如果想要画图可以点击下方链接来画图:

https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html


B树和B+树是N叉树的具体实现。


区别 | B树 | B+树 |
|---|---|---|
节点存储 | 叶子节点、非叶子节点存储索引+数据 | 非叶子节点进存储索引,叶子节点存储索引+数据 |
查询路径 | 数据分布在所有节点,可以在非叶子节点找到所查询的数据 | 非叶子节点的值都保存在叶子节点,数据只分布在叶子节点,非叶子节点值保存对子节点的应用,没有保存真实数据。只能在叶子节点找到所查询的数据 |
范围查询 | 逐层遍历节点 | 叶子节点使用双链表连接,叶子节点之间有一个相互连接的引用,可以通过子节点找到兄弟节点 |