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+树的索引查询行记录


  1. 首先是从B+树的根开始,逐层检索,直到找到叶子节点,也就是找到对应的数据页位置,将数据页加载到内存中
  2. 页目录的槽采用二份查找的方式先找到一个粗略的记录分组,
  3. 然后再在分组中通过链表遍历的方式查找记录.

2. 普通索引和唯一索引查询效率上有什么不同?

以上是关于MySQL高级--04--InnoDB数据存储结构---数据页结构的主要内容,如果未能解决你的问题,请参考以下文章

《MySQL高级篇》四索引的存储结构

MySQL高级--06--InnoDB数据存储结构---区段碎片区与表空间结构

MySQL高级--05--InnoDB数据存储结构---行格式(或记录格式)

MySQL高级篇——索引视图存储过程和函数触发器的相关概念及操作

MySQL数据库高级——存储过程

MySQL从入门到精通高级篇InnoDB数据存储结构概述