MySQL数据库——InnoDB引擎-逻辑存储结构(表空间、段、区、页、行)

目录

表空间


之前我们初步介绍过InnoDB引擎的逻辑存储结构,如下图所示:

下面来对其每个组成部分详细了解:

表空间

表空间 是InnoDB存储引擎逻辑结构的最高层, 如果用户启用了参数 innodb_file_per_table(在

8.0版本中默认开启) ,则每张表都会有一个表空间(xxx.ibd),一个mysql实例可以对应多个表空
间,用于存储记录、索引等数据。

段,分为数据段(Leaf node segment)、索引段(Non-leaf node segment)、回滚段
(Rollback segment),InnoDB是索引组织表,数据段就是B+树的叶子节点, 索引段即为B+树的

非叶子节点。段用来管理多个Extent(区)。

区,表空间的单元结构,每个区的大小为1M。 默认情况下, InnoDB存储引擎页大小为16K, 即一个区中一共有64个连续的页。

页,是InnoDB 存储引擎磁盘管理的最小单元,每个页的大小默认为 16KB。为了保证页的连续性,InnoDB 存储引擎每次从磁盘申请 4-5 个区

行,InnoDB 存储引擎数据是按行进行存放的。在行中,默认有两个隐藏字段:

  • Trx_id:每次对某条记录进行改动时,都会把对应的事务id赋值给trx_id隐藏列。
  • Roll_pointer:每次对某条引记录进行改动时,都会把旧的版本写入到undo日志中,然后这个隐藏列就相当于一个指针,可以通过它来找到该记录修改前的信息。

END


学习自:黑马程序员------MySQL数据库课程

相关推荐
STLearner1 分钟前
WSDM 2026 | 时间序列(Time Series)论文总结【预测,表示学习,因果】
大数据·论文阅读·人工智能·深度学习·学习·机器学习·数据挖掘
redaijufeng10 分钟前
网络爬虫学习:应用selenium获取Edge浏览器版本号,自动下载对应版本msedgedriver,确保Edge浏览器顺利打开。
爬虫·学习·selenium
九成宫19 分钟前
IT项目管理期末复习——Chapter 10 项目沟通管理
笔记·项目管理·软件工程
腾科IT教育21 分钟前
零基础快速上岸HCIP,高效学习思路分享
学习·华为认证·hcip·hcip考试·hcip认证
234710212722 分钟前
4.14 学习笔记
笔记·python·学习
醇氧24 分钟前
【学习】软件过程模型全解析:从瀑布到敏捷的演进之路
学习·log4j
a95114164227 分钟前
如何加固SQL集群防注入_实施网络层访问控制策略
jvm·数据库·python
2401_8359568133 分钟前
mysql处理大量更新场景_InnoDB MVCC与MyISAM对比
jvm·数据库·python
m0_7489203643 分钟前
Oracle默认端口被占用如何连接_修改端口号操作教程
jvm·数据库·python
qq_342295821 小时前
Redis怎样按照距离远近排序展示_通过GEORADIUS的ASC参数进行Geo排序
jvm·数据库·python