mysql索引的数据结构
2021-04-09 16:29:38 0 举报
MySql的索引数据结构的分析
作者其他创作
大纲/内容
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 条评论
回复 删除
下一页