MySQL高级--04--InnoDB数据存储结构---数据页结构
Posted 高高for 循环
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL高级--04--InnoDB数据存储结构---数据页结构相关的知识,希望对你有一定的参考价值。
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
数据库的存储结构: 页
innoDB讲数据划分为若干个页, 默认页的大小默认为16kb
行–页--区–段--表空间—数据库
页的内部结构
第一部分: 文件头和文件尾
1.1 File Header(文件头部)(38字节)
1.2 File Trailer(文件尾部)(8字节)
第二部分: 用户记录和空闲空间
2.1 Free Space (空闲空间)
2.2 User Records (用户记录)
2.3 Infimum + Supremum(最小最大记录)
第三部分: 页目录与页头
3.1 Page Directory(页目录)
页目录分组
页目录分组的个数如何确定?
页目录结构下如何快速查找记录?
3.2 Page Header(页面头部)
从数据页的角度看B+树如何查询
1. B+树是如何进行记录检索的?
通过B+树的索引查询行记录
- 首先是从B+树的根开始,逐层检索,直到找到叶子节点,也就是找到对应的数据页位置,将数据页加载到内存中
- 页目录的槽采用二份查找的方式先找到一个粗略的记录分组,
- 然后再在分组中通过链表遍历的方式查找记录.
2. 普通索引和唯一索引查询效率上有什么不同?
以上是关于MySQL高级--04--InnoDB数据存储结构---数据页结构的主要内容,如果未能解决你的问题,请参考以下文章
MySQL高级--06--InnoDB数据存储结构---区段碎片区与表空间结构
MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)