MySQL 中的表数据是如何存储的?

  发布时间:2025-11-05 01:28:27   作者:玩站小弟   我要评论
MySQL是基于磁盘进行数据存储的关系型数据库, 所有的数据和索引都以磁盘文件的方式存储, 在有需要时载入内存读取。MySQL支持多种存储引擎,不同的存储引擎保存的文件不同。InnoDB是MySQL使 。

MySQL是数据基于磁盘进行数据存储的关系型数据库, 所有的何存数据和索引都以磁盘文件的方式存储, 在有需要时载入内存读取。数据MySQL支持多种存储引擎,何存不同的数据存储引擎保存的文件不同。InnoDB是何存MySQL使用最为广泛的存储引擎,下面我们以InnoDB引擎为例来说明。数据

当我们创建一个数据库表时,何存InnoDB会创建三个文件。数据其中,何存ibd后缀的数据文件是对表数据和索引实际存储的文件,也称为表空间文件。何存

表空间文件的数据结构由段、区、何存页、数据和行组成。

数据库表中的记录都是按行进行存放的,每行记录根据不同的行格式,源码库有不同的存储结构。以Compact行格式为例,一条记录的存储可以分为两部分,分别是“额外信息”和“真实数据”。 额外信息用来描述记录,分为变长字段列表、NULL值列表和记录头信息。

虽然记录是按照行来存储的,但考虑到效率,数据库的读写并不以行为单位,而是以页为单位,一个页中可以存储多个行记录。页的大小默认为16KB,也就是数据库一次最少从磁盘中读取16KB的内容到内存,一次最少把内存中16KB的内容刷新到磁盘。

区是比页大一级的存储结构,一个区会分配64 个连续的页。因为页大小默认是16KB,服务器租用所以一个区的大小是 64个16KB,也就是1MB。

段由一个或多个区组成,区在文件系统是一个连续分配的空间,不过在段中不要求区与区之间是相邻的。段是数据库中的分配单位,不同类型的数据库对象以不同的段形式存在。当我们创建数据表、索引的时候,就会创建对应的段,比如创建一张表时会创建一个表段,创建一个索引时会创建一个索引段。

表空间存储的对象是段,在一个表空间中可以有一个或多个段,但是一个段只能属于一个表空间。数据库由一个或多个表空间组成。

对于一行数据如何存放,源码下载我们需要重点关注变长字段和NULL值。MySQL支持一些变长的数据类型,比如varchar(n),变长字段中存储多少字节数据是不固定的,所以我们存储真实数据的时候,需要把这些数据占用的字节数也存起来。

在Compact行格式中,把所有变长字段真实数据占用的字节长度,按照记录列的逆序方式存放在记录的开头部位,形成一个变长字段长度列表。注意当数据表没有变长字段时,比如全部都是int类型字段,这时候表里的行格式就不会有变长字段长度列表。

另外,Compact行格式还会把可以为NULL的列统一管理起来,以记录列的逆序方式存放在一个NULL值列表中。标示数据是否为NULL使用一个二进制位表示,1为NULL,0为非NULL,注意,如果表中没有允许存储 NULL 的列,则 NULL值列表也不存在。

  • Tag:

相关文章

  • 小熊系统U盘教程(简单操作,轻松安装小熊系统U盘,让电脑高效运行)

    摘要:随着科技的不断发展,我们对电脑的要求也越来越高。而小熊系统U盘作为一种优秀的操作系统,可以让我们的电脑拥有更好的性能和用户体验。本文将为大家详细介绍如何使用小熊系统U盘,并附上具体...
    2025-11-05
  • 为什么Hook没有ErrorBoundary?

    大家好,我卡颂。在很多全面使用Hooks开发的团队,唯一使用ClassComponent的场景就是「使用ClassComponent创建ErrorBoundary」。可以说,如果Hooks存在如下两个
    2025-11-05
  • 关于 Flink Regular Join 与 TTL 的理解

    对于流查询,Regular Join的语法是最灵活的,它允许任何类型的更新(插入、更新、删除)输入表。Regular Join 包含以下几种以 L 作为左流中的数据标识,R 作为右流中的数据标识):I
    2025-11-05
  • 简短域名如何注册?怎么选择简短域名?

    简短域名如何注册?怎么选择简短域名?我们在注册域名的时候,如果你直接去域名注册平台查询域名,你会发现能想到的简短的好域名基本上都已经被别人注册了,那么,怎么才能注册一个简短的域名呢?下面聚名网小编就带
    2025-11-05
  • 大白菜GPT分区教程(详解大白菜GPT分区教程,帮助您轻松完成硬盘分区操作)

    摘要:在进行电脑硬盘分区的过程中,选择适当的分区工具和正确的操作方法非常重要。本文将详细介绍大白菜GPT分区教程,帮助读者掌握如何使用大白菜GPT分区工具进行硬盘分区操作。1.什...
    2025-11-05
  • SSO单点登录最全详解(图文全面总结)

    来源:mikechen的互联网架构SSO单点登录经常在大型网站被使用到,下面我就重点来详解SSO单点登录的原理机制与应用场景SSO单点登录单点登录Single Sign-On,简称SSO)是一种身份验
    2025-11-05

最新评论