ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

八、MySQL 存储物理结构

2022-08-03 15:31:13  阅读:147  来源: 互联网

标签:存储 缓存 记录 存放 MySQL 空间 数据 空闲 物理


数据页

  数据页实际上是由多个部分组成的,包括文件头、数据页头、最小记录和最大记录、多个数据行、空闲空间、数据页目录、文件尾部。其中数据行中包含了两行伪记录 Infimum 和 Supremum,Infimum(下确界)记录比该页中任何主键值都要小的值,Supremum (上确界)记录比该页中任何主键值都要大的值,这个伪记录分别构成了页中记录的边界。

  数据页一开始是空的,所以没有多行数据这个空间,全部都是空闲目录,然后 MySQL 插入数据时,需要加载数据页到 Buffer Pool 缓存页(与数据页一一对应),往缓存页中插入数据就会减少空闲空间,直到空闲区域耗尽,这个数据页就满了。然后定时线程在适当时候刷盘,把这个缓存页刷入磁盘中对应的数据页。

数据区和表空间

  表(Table)对应的有一个表空间的概念,而表空间在磁盘上对应一个或多个数据文件。我们的数据都是写在表空间对应的数据文件上的数据页中,而数据页只是表空间存放数据的一个最小单元。

  为了方便管理这些数据页,又引出了数据区的概念。

  数据页存放在数据区(extent)中,每个数据区存放 64 个数据页,也就是说一个数据区的大小为 1024kb(1M)。然后 256 个数据区被划分为一个组(256M),暂且就叫做数据组吧。一个表空间存在有多个数据组,表空间第一个数据组的第一个数据区的前3个固定的数据页存放了关于这个表空间和数据组的元数据。而其他数据组的第一个数据区的前2个数据页是存放关于这个数据组的元数据。

标签:存储,缓存,记录,存放,MySQL,空间,数据,空闲,物理
来源: https://www.cnblogs.com/sxdear/p/16547321.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有