从根上理解MySQL
2021-11-06 22:16:49 1 举报
mysql
作者其他创作
大纲/内容
0
99
File Header (4字节)文件头
min_rec_flag
b
IBUF_BITMAP(16KB)存储一些change buffer的信息
Space ID of the INode Entry表空间ID
记录的额外信息
file header
page directory
XDES Entry 0(40字节)区描述信息
File Space Header(4字节)表空间头部
heap_no
100
page header
第二条记录
Segment ID(8字节)
4
XDES(16KB)用来登记本组256区的属性
extent512(1MB)
。。。。。
10
deleted_flag是否被删除
Fragment Array Entry 0(4字节)
一条数据包括两部分:1. 真正的数据内容2. 该数据占用的字节数
‘supremum’
u
Fragment Array Entry 1(4字节)
‘aaaa’
file trailer
12
5
supremum
Fragment Array Entry 31(4字节)
List Base Node For FREE_FRAG List(16字节)
n_owned
这个事infimum记录的地址偏移量
第三条记录
key
min_rec_flagB树每层最小非叶子节点最小目录项
extent511(1MB)
COMPACT格式
这两个字段是指向XDES Entry链表尾节点的指针
page_no
1字节
‘bbbb’
a
。。。
20
extent256(1MB)
‘cccc’
Free Space
next_record
e
extent1(1MB)
32
c1列的值
列n的值
列1的值
Page State Bitmap(16字节)共128位,代表着64个页。
record_type
Page Number of the INode Entry页面编号
8
3MB
First Node Page Number(4字节)
9
....
112
1
SYS:insert buffer header(16KB)存储change buffer 的头部信息
6
state(4字节)
row_id
。。。。
28
这两个字段是指向后一个XDES Entry指针
extent0的各个页系统表空间
320
允许为null
514MB
记录头信息
c1
List Base Node For NOT_FULL List(16字节)
目录项1(索引)
Next Unused Segment ID(8字节)
User records
c4
其他信息
2
Infimum + Supremum
这两个字段是指向XDES Entry链表头节点的指针
192字节
槽0
列2的值
Not Used (4字节)
extent256的各个页
NULL值列表
c2列的值
220
3
209
Magic Number(4字节)
溢出列:20字节存储数据地址
extent0的各个页独立表空间
目录项3
槽1
d
FRAG_N_USED(4字节)
Space Flags(16字节)
XDES Entry 1(40字节)
PAGE_BTR_SEG_LEAFB+树叶子节点头部信息,记在B+树根页面定义
目录项2
deleted_flag
每256个extent为一组
目录项4
Empty Space
Next Node offet(12字节)
SYS:data directory header(16KB)数据字典头部信息
第四条记录
List Node(12字节)
Prev Node Page Number(4字节)
SYS:first rollback segment (16KB)第一个混滚段的信息
List Base Node For FREE List(16字节)
没有使用
1MB
XDES Entry 255(40字节)
255MB
7
1用户记录最小主键值
c3
2MB
i
trx_id
FSP_HDR(16KB)
extent254(1MB)
heap_no表示当前记录页面的相对位置
Space ID(4字节)
PAGE_BTR_SEG_TOPB+树非叶子节点头部信息,记在B+树根页面定义
第一条记录
每个区对应一个XDES Entry,每个XDESEntry共40字节,共有256个XDESENtry 所以共占用10240字节
infimum
TRX_SYS(16kb)事务系统的相关信息
Prev Node offet(12字节)
List Length(4字节)
NOT_FULL_N_USED(4字节)
List Base Node For SEG_INODES_FULL List(16字节)
SIze(4字节)当前表空间拥有的页面数
0对于16Kb页来说,连续64个页就是一个区(11MB)
List Base Node For SEG_INODES_FREE List(16字节)
这个事supremum记录的地址偏移量
这个中间位置,刚好向左读取记录头信息,向右读取真实数据
extent258(1MB)
31
roll_pointer
‘dddd’
这两个字段是指向前一个XDES Entry指针
y
-111
IBUF_BITMAP(16KB)
extent0(1MB)
30
表空间结构
x
First Node Offet (2字节)
Byte Offet of the INode Entry该页面的偏移量
XDES Entry 2(40字节)
extent2(1MB)
extent255(1MB)
INODE(16KB)存储一些INODE Entry的数据结构
List Base Node For FULL List(16字节)
513MB
File Trailer
extent513(1MB)
Next Node Page Number(4字节)
300
变长字段长度列表(逆序排序)
256MB
Free Limit(4字节)
n_owned该组所有的记录条数
‘infimum’
List Base Node For FULL_FRAG List(16字节)
INDEX: insert buffer root(16KB)存储change buffer 的根页面
0 条评论
回复 删除
下一页