mysql索引系统B+tree
2021-09-27 09:22:22 46 举报
MySQL索引系统采用B+树结构,它是一种多路平衡查找树。B+树的特点是每个节点只存储关键字信息,而将指向数据的指针存储在叶子节点中,这样可以大大提高查询效率。同时,B+树的层级关系非常明确,每个节点都有左右子树,并且叶子节点之间有指针相互连接,形成一个有序链表。这种结构使得在查询时可以快速定位到所需的数据,而不需要遍历整个树。此外,B+树还支持范围查询和排序操作,适用于各种复杂的查询场景。总之,MySQL索引系统的B+树结构是一种高效、稳定、可靠的数据存储方式,为数据库的性能优化提供了有力支持。
作者其他创作
大纲/内容
3
35
28
data
2
5
磁盘块4
15
30
6
teacher.zhou
p2
ma
4
1
teacher.ma
id
13
teacher.gang
9
10
磁盘块7
键值,表中记录的主键
p3
0X0022
注意:在B+Tree上有两个头指针,一个指向根节点,另一个指向关键字最小的叶子节点,而且所有叶子节点(即数据节点)之间是一种链式环结构。因此可以对 B+Tree 进行两种查找运算:一种是对于主键的范围查找和分页查找,另一种是从根节点开始,进行随机查找。
p1
表中数据
指针,即存储子节点地址信息
teacher.lian
teacher.ming
36
zhou
0X00C2
0X00AC
75
name
磁盘块2
gang
39
数据,即表记录中除主键外的数据
磁盘块5
ming
29
lian
磁盘块1
0X00A5
79
65
mysql MyISAM--B+Tree
0X0053
12
mysql索引数据结构--B+Tree
B+Tree是在BTree的基础之上做的一种优化,变化如下:1、B+Tree每个节点可以包含更多的节点,这个做的原因有两个,第一个原因是为了降低树的高度,第二个原因是将数据范围变为多个区间,区间越多,数据检索越快2、非叶子节点存储key,叶子节点存储key和数据3、叶子节点两两指针相互连接(符合磁盘的预读特性),顺序查询性能更高
teacher.lu
磁盘块6
磁盘块3
lu
17
0X0045
60
56
0 条评论
下一页