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数据库课程

相关推荐
wdfk_prog1 分钟前
[Linux]学习笔记系列 -- 内存管理与访问
linux·笔记·学习
go_bai2 分钟前
Linux-网络基础
linux·开发语言·网络·笔记·学习方法·笔记总结
laocooon5238578862 分钟前
学习计算机知识的量变质变关系模态分析
学习
崎岖Qiu2 分钟前
【OS笔记38】:设备管理 - I/O 设备原理
笔记·操作系统·os·设备管理·io设备
计算机学姐7 分钟前
基于SpringBoot的汉服租赁系统【颜色尺码套装+个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·后端·mysql·信息可视化·推荐算法
+VX:Fegn08958 分钟前
计算机毕业设计|基于springboot + vue建筑材料管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
我命由我123459 分钟前
Photoshop - Photoshop 工具栏(58)锐化工具
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
2301_8002561110 分钟前
B+树:数据库的基石 R树:空间数据的索引专家 四叉树:空间划分的网格大师
数据结构·数据库·b树·机器学习·postgresql·r-tree
前端小菜袅17 分钟前
AI时代,新的技术学习方式
学习·ai编程
程序人生51821 分钟前
宝塔安装完mysql5.7后 root无法通过远程连接问题排查
mysql·宝塔面板