标签:loading ace _for null mysql class 大小 asc width
官方名字:索引页
所以你知道了,User Records 和 Free Space 之间是此消彼长的关系
create table demo( c1 int, c2 int, c3 varchar(10000), primary key(c1) )charset=ascii row_format=compact
简化下,因为变长字段长度列表,null值列表都没什么用
所以存储记录为:
* delete_mask:标记是否删除了
* heap_no:记录的序号,序号为0的记录是infimum,序号1为spuermum(这俩是mysql为我们自动提供的),所以我们自己的都是从2开始的,这个排序是通过主键的比较规则来的
* next_record:记录下一条记录的偏移量,下一条记录指的是,按照主键值由小到大的下一天记录。
假如删除一条数据:
那么就等着下一条数据来,直接覆盖就完事了
提问:为什么指针指的是中间位置,哈哈哈,这就是为什么左边的可变长字段长度列表是逆序的原因了,从中间,往两边同时读,刚好都是顺的。自己画图理解下吧。
将每个组的最大heap_no的记录偏移地址存在page_directory,这样查找的时候,就可以通过page_directory二分查找,然后再进入相应的组中找,美滋滋。
组的大小一般都是1-8个左右。
数据页中存储的记录的状态信息,比如:存储了多少条记录,第一条记录的地址是什么,有多少个槽
有一个校验和A
还有指向下一个页面
存的都是跟页面有关的信息
校验和B
假如现需要将数据页写入磁盘,写到中途断电了,那么校验和A和校验和B势必不一样,那么就说明出错了,只写了一半。
标签:loading ace _for null mysql class 大小 asc width
原文地址:https://www.cnblogs.com/sicheng-li/p/13112306.html