MySQL 数据页详解

news2024/12/28 11:14:20

数据页是MySQL 中定义的的一个存储结构

数据页是保存数据行的容器

页的16KB的大小是MySQL的⼀个默认设置,可以适用于⼤多数场景,当然也可以根据自己的实际业务场景进行修改页的大小,通过系统变量 innodb_page_size 进行调整与查看,在调整页大小的时候需要保证设置的值是操作系统"数据块" 4KB的整数倍,从而保证通过操作系统和磁盘交互时"数据块"的完整性,不被分割或浪费,所以规定了 innodb_page_size 可以设置的值,分别是 4096 、 8192 、 16384 、 32768 、 65536 ,对应 4KB 、 8KB 、 16KB 、 32KB 、64KB ;

1、数据页的属性

首先我们思考一下,数据页中的属性可能有哪些呢?

1、大小                         ->      根据全局变量配置

2、属于哪个表空间       ->      关联对应的表空间ID

3、指定页的类型           ->      通过枚举或常量的方式指定

4、对页进行编号           ->      指定唯一标识

实际:

1. 页头 - File Header

• 页号: FIL_PAGE_OFFSET 占⽤ 4Byte ,相当于页的身份证号,通过这个长度可以计算出每个InnoDB表中最多可以拥有 2^(4*8)-1约42亿 个页,表空间第⼀个页编号从0开始,之后的页号分别是1,2,3…依此类推,具体页的偏移量计算公式为:页号 * 每页大小;那么按照每个页默认16KB大小计算,⼀个表空间最大容量为 2^(4*8) * 16KB = 64TB ,这也是InnoDB表空间最大容量是64T的原因;

• 上一页页号: FIL_PAGE_PREV

• 下一页页号: FIL_PAGE_NEXT 多个页通过这两个信息组成双向链表,即使不同的页地址不连

续,也可以通过链表连接

• 表空间ID: FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID ,当前页属于哪个表空间

• 页类型: FIL_PAGE_TYPE ,数据页对应的页类型是 FIL_PAGE_INDEX = 0x45BF

• 最近一次修改的LSN: FIL_PAGE_LSN ,占用8Byte

• 已被刷到磁盘的LSN: FIL_PAGE_FILE_FLUSH_LSN ,占用8Byte

• 校验和: FIL_PAGE_SPACE_OR_CHKSUM ,用于页的完整性校验

2. 页尾 - File Trailer

• 最近⼀次修改的LSN

• 校验和:对应页头中的校验和

如果在数据传输的过程中数据丢失或异常中断,导致⼀个数据⻚不完整就可以通过⻚头和⻚尾的校验和进⾏验证,验证算法默认使⽤ CRC32

可以发现,我们猜测的属性在实际结构中能一一对应(大小是固定的全局属性)。

在不同的使用场景中,页的结构也有所不同,在MySQL中有多种不同类型的页,但不论哪种类型的页都会包含页头(File Header)和⻚尾(File Trailer),在这页头和页尾之间的页主体信息根据不同的类型有不同的结构,最常⽤的就是用来存储数据和索引的"索引页",也叫做"数据页",页的主体信息使用数据"行"进行填充

2、数据之间如何进行关联

通过双向链表进行关联。

后面会详细讲解其他信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2069497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

可计量Agilent N5181A详情资料keysight N5182A模拟信号发生器

Keysight N5181A(Agilent)MXG RF 模拟信号发生器的功能和规格包括:信号特性: 100 kHz 至 1、3 或 6 GHz 1 GHz 时输出功率为 23 dBm -121 dBc/Hz(典型值)相位噪声(1 GHz 和 20 kHz 偏移&…

程序员常用的十个PyCharm插件,学会工作都不用加班了!

安装方法 先来说说插件的安装方法,一点都不难。 选择顶部菜单栏的 PyCharm 选项,打开 Preferences ,点击 plugins ,在右侧的文本框中输入想要查看的插件名称,在下方就会罗列出已经安装的相关的插件。 找到我们所需要的…

虹猫ai推文软件官方

虹猫AI推文软件是一款由虹猫小队开发的人工智能推文工具。该软件通过训练深度学习模型,能够自动生成优质的推文内容,帮助用户快速撰写出吸引人的推文。 虹猫ai推文软件官方https://iimenvrieak.feishu.cn/docx/O0UedptjbonN4UxyEy7cPlZknYc 虹猫AI推文软…

在Windows下安装设置VirtualBox

文章目录 一、下载VirtualBox二、安装VirtualBox三、安装虚拟机 一、下载VirtualBox 下载地址 直链下载 二、安装VirtualBox 打开下载好的安装包,点击下一步 根据自己的需求选择安装功能,之后选择安装目录,完成后下一步 提前注意是否有…

棚子影院CMS程序PHP源码

01, 棚子影视是我现在最常用的一个看视频的网站,支持观看电影、国漫!动漫,电视剧、综艺、记录片、香港剧等等。同时棚子影视支持手机,PC端在线观看,不用下载任何播放器,直接电脑或者手机打开网址就可以在线…

自动化脚本到LabVIEW转换

工业自动化领域中的专用脚本语言转换为LabVIEW时需要注意的问题 语法差异: 脚本语言特点: 工业自动化脚本语言通常具有特定的语法和结构,例如条件判断、循环控制、硬件指令等。这些语言直接面向硬件操作,语法简洁,适用…

Python编码系列—Python单元测试的艺术:深入探索unittest与pytest

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

[数据集][目标检测]考场行为作弊检测数据集VOC+YOLO格式4413张4类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4413 标注数量(xml文件个数):4413 标注数量(txt文件个数):4413 标注…

LeetCode33

445.两数相加Ⅱ 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例1: 输入:l1 [7,2,4,3…

SD Maid SE v1.2.3 — 老牌清理工具全面升级,更简洁,更流畅了

SD Maid(SD女佣)是一款老牌的安卓垃圾清理神器,支持手机文件概览、文件搜索、应用管理、卸载残留、系统清理、应用清理、重复文件以及存储分析等多种实用功能。近期推出的SD Maid SE采用了全新的架构和技术,全面兼容最新的安卓版本…

如何高效利用ChatGPT撰写论文:从初稿到终稿的全程精华指南

在近年来的人工智能快速发展中,自然语言处理领域尤其显著,其中ChatGPT作为OpenAI推出的先进语言模型,不仅在日常交互上表现出众,其在专业写作方面也展现了巨大潜力。本文将详尽介绍如何高效地利用ChatGPT来撰写和修改学术论文&…

【Linux篇】Linux命令基础

目录 1. Linux的目录结构 1.1 Linux的目录结构 1.2 /在Linux系统中的表示 2. linux命令基础 2.1 什么是命令和命令行 2.2 Linux命令的通用格式 2.3 ls命令 2.3.1 ls命令的参数的作用: 2.3.2 ls命令的选项 2.3.3 命令的选项组合使用 2.4 cd切换工作目录 2…

YOLOv8多种方法改进CBAM注意力机制有效提升检测精度(已跑通)

一、CBAM概念 CBAM(Convolutional Block Attention Module)是一种用于卷积神经网络(CNN)的注意力机制,旨在提高网络的表现能力。它通过引入两个注意力模块来增强特征图的表达能力。 二、源码: class Chan…

AI 产品的五种交互模式

我们不是在创造人工智能,我们是在创造智能的控制者 —— James Barrat 历史 回顾计算机交互的演变历程,经历了批处理—命令行式交互—图形界面交互,AI 的出现带来了自然语言交互,基于人类的意图完成输出。 早期的批处理系统古朴…

uefi模式无法读取u盘启动怎么办_uefi模式无法读取u盘启动解决方法

最近有网友问我uefi模式下我按快捷方式或bios中都认别不了U盘,无法正常选择u盘启动进入pe安装系统,出现这种情况一般是bios中设置了uefi模式,而制作的u盘启动不支持uefi启动导致,那么uefi模式无法读取U盘启动怎么办?下…

摄影曝光:曝光模式认知

写在前面 理解不足小伙伴帮忙指正 😃,生活加油 99%的焦虑都来自于虚度时间和没有好好做事,所以唯一的解决办法就是行动起来,认真做完事情,战胜焦虑,战胜那些心里空荡荡的时刻,而不是选择逃避。不要站在原地…

万亿低空经济赛道,如何抢占先机?

在万亿低空经济赛道中抢占先机,需要企业在多个方面进行全面布局和战略规划。以下是一些关键策略: 一、明确低空经济的定义和潜力 低空经济作为战略性新兴产业和未来产业,已经上升为国家经济工作重点。它是指各类低空航空器在飞行活动中所关…

工商业光伏项目如何顺利运行

工商业光伏项目如何顺利运行 鹧鸪云 工商业光伏可以细分为两大类,一类是针对工业企业的光伏项目,另一类则是针对商业企业的光伏项目。工业企业光伏项目通常是指在工厂、工业园区等工业用地安装光伏系统,利用太阳能发电,以满足工…

Linux(云服)安装go

我的系统环境 一、获取安装包 接下来先在Windows物理机上获取安装包 set http_proxyhttp://127.0.0.1:7897 set https_proxyhttp://127.0.0.1:7897 wget https://go.dev/dl/go1.20.7.linux-amd64.tar.gz然后通过xshell的rz命令将go1.20.7.linux-amd64.tar.gz发送至我的云服&a…

【解压即玩】使命召唤 系列合集17-1,经典收藏

《使命召唤》(英语:Call of Duty)是一款以第二次世界大战为背景的第一人称射击游戏,该游戏使用了基于雷神之锤III引擎的升级版本,即重返德军总部游戏引擎的改良版。游戏的故事线从不同的角度展开,玩家将扮演…