上篇文章讨论了单行数据如何存储的问题,实际应用过程中,不可能只有单条数据。那多条数据又该如何存储呢?
一,自定义存储结构
1. 数组
- 优点
-
2. HASH表
优点
-
3. 链表
优点
- 缺点
二,MySql的页结构
1. 页的概念
2. 页的结构
3. 页的记录结构
下一条记录
指得并不是按照我们插入顺序的下一条记录,而是按照主键值由小到大的顺序的下一条记录。而且规定 Infimum记录(也就是最小记录) 的下一条记录就是本页中主键值最小的用户记录,而本页中主键值最大的用户记录的下一条记录就是 Supremum记录(也就是最大记录)
4.Page Dictionary
单页记录查找的解决方案:
- 通过二分法确定该记录所在的槽,并找到该槽所在分组中主键值最小的那条记录。
- 通过记录的
next_record
属性遍历该槽所在的组中的各个记录。
三,InnoDB的索引方案
这些页是如何产生的?