八、MySQL 存储物理结构
2022/8/4 2:23:01
本文主要是介绍八、MySQL 存储物理结构,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数据页
数据页实际上是由多个部分组成的,包括文件头、数据页头、最小记录和最大记录、多个数据行、空闲空间、数据页目录、文件尾部。其中数据行中包含了两行伪记录 Infimum 和 Supremum,Infimum(下确界)记录比该页中任何主键值都要小的值,Supremum (上确界)记录比该页中任何主键值都要大的值,这个伪记录分别构成了页中记录的边界。
数据页一开始是空的,所以没有多行数据这个空间,全部都是空闲目录,然后 MySQL 插入数据时,需要加载数据页到 Buffer Pool 缓存页(与数据页一一对应),往缓存页中插入数据就会减少空闲空间,直到空闲区域耗尽,这个数据页就满了。然后定时线程在适当时候刷盘,把这个缓存页刷入磁盘中对应的数据页。
数据区和表空间
表(Table)对应的有一个表空间的概念,而表空间在磁盘上对应一个或多个数据文件。我们的数据都是写在表空间对应的数据文件上的数据页中,而数据页只是表空间存放数据的一个最小单元。
为了方便管理这些数据页,又引出了数据区的概念。
数据页存放在数据区(extent)中,每个数据区存放 64 个数据页,也就是说一个数据区的大小为 1024kb(1M)。然后 256 个数据区被划分为一个组(256M),暂且就叫做数据组吧。一个表空间存在有多个数据组,表空间第一个数据组的第一个数据区的前3个固定的数据页存放了关于这个表空间和数据组的元数据。而其他数据组的第一个数据区的前2个数据页是存放关于这个数据组的元数据。
这篇关于八、MySQL 存储物理结构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享
- 2024-02-22docker mysql 5.7
- 2024-02-18从 20 多套 MySQL 到 1 套 TiDB丨骏伯网络综合运营管理平台应用实践
- 2024-02-07mysql 外键索引入门介绍,为什么工作中很少有人使用?