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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python - 深夜数据结构与算法之 Divide Conquer Backtrack

目录 一.引言 二.分治与回溯简介 1.Divide & Conquer 分治 2.BackTrack 回溯 三.经典算法实战 1.Combination-Of-Phone [17] 2.Permutations [46] 3.Permutations-2 [47] 4.Pow-X [50] 5.N-Queen [51] 6.Combinations [78] 7.Sub-Sets [78] 8.Majority-Elemen…

如何修复无法读取的U盘,修复U盘的方法

无法读取U盘是常见的故障,可能的原因有很多,例如U盘驱动器问题、文件系统损坏、电脑USB接口问题等。本文将详细分析这些原因,并提供相应的解决方法,帮助用户解决无法读取U盘的问题。 如何修复无法读取的U盘,修复U盘的方…

Python - 深夜数据结构与算法之 Recursion

目录 一.引言 二.递归的简介 1.Recursion 递归 2.Factorial 阶乘 3.Template 模版 三.经典算法实战 1.Generate-Parentheses [22] 2.Climbing-Stairs [70] 3.Is-Valid-BST [98] 4.Max-Depth [104] 5.Construct-Binary-Tree [105] 6.Min-Depth [111] 7.Invert-Tree…

DML语言(重点)———update

格式:update 要修改的对象 set 原来的值新值 -- 修改学员名字,带了简介 代码案例: -- 修改学员名字,带了简介 UPDATE student SET name清宸 WHERE id 1; -- 不指定条件情况下,会改动所有表! 代码案例…

@click 默认传递原生的事件对象

项目场景 [Day1] <template><div id"app"><h1>小黑记事本</h1><button click"handleClick">www</button><div class"head"><!-- 按键&#xff08;回车&#xff09;按下&#xff0c;出发add事件&…

适合引流源码声音鉴定神器网站源码,轻松吸引用户关注

源码介绍 声鉴卡HTML5网页源码&#xff0c;完整可运转&#xff0c;调用wx录音&#xff0c;自动判断声音属性&#xff0c;输出结果 安装教程 只需要把源码上传至主机空间就可以 支持上传二级目录访问&#xff01;提示一下&#xff1a;wxvx打开效果是最佳的源码里面生成二维码…

TIA博途中临时变量Temp的基本概念解析

TIA博途中临时变量Temp的基本概念解析 TEMP&#xff08;临时变量&#xff09;的概念是这样的。 每一个OB&#xff0c;FB&#xff0c;FC都可以声明Temp临时变量。 它们仅是在被调用时&#xff0c;由操作系统&#xff0c;根据块声明&#xff0c;临时分配的内存空间。该块结束时…

RTOS_WDS

2023/12/25重启韦东山老师RTO 韦东山freeRTOS快速入门视频教程 P2 2-1堆的概念 堆 char heap_buf[1024]; int pos 0;void *my_malloc(int size) {int old_pos pos;pos size;return &heap_buf[old_pos]; }void my_free(void *buf) {/* err */ }int main(void) {char ch…

Linux操作系统基础知识点

Linux是一种计算机操作系统&#xff0c;其内核由林纳斯本纳第克特托瓦兹&#xff08;Linus Benedict Torvalds&#xff09;于1991年首次发布。Linux操作系统通常与GNU套件一起使用&#xff0c;因此也被称为GNU/Linux。它是一种类UNIX的操作系统&#xff0c;设计为多用户、多任务…

Linux文件编程

目录 1、Linux系统提供的文件编程API 1.1打开文件&#xff1a;open 1.2创建文件creat函数 1.3写入文件write函数 1.4读取文件read函数 1.5文件光标位置lseek函数 2、另外一组文件编程API 2.1文件打开函数fopen 2.2读文件函数fread 2.3写文件函数fwrite 2.4文件光标位…

Hive04_DDL操作

Hive DDL操作 1 DDL 数据定义 1.1 创建数据库 CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_nameproperty_value, ...)];[IF NOT EXISTS] &#xff1a;判断是否存在 [COMMENT database_c…

【回溯】n皇后问题Python实现

文章目录 [toc]问题描述问题转换回溯法时间复杂性Python实现 个人主页&#xff1a;丷从心 系列专栏&#xff1a;回溯法 问题描述 有一批共 n n n个集装箱要装上 2 2 2艘载重量分别为 c 1 c_{1} c1​和 c 2 c_{2} c2​的轮船&#xff0c;其中集装箱 i i i的重量为 w i w_{i} w…

多重断言插件之pytest-assume的简单使用

背景&#xff1a; pytest-assume是Pytest框架的一个扩展&#xff0c;它允许在单个测试用例中多次断言。通常情况下&#xff0c;当一个断言失败时&#xff0c;测试会立即停止执行&#xff0c;而pytest-assume允许我 们继续执行剩余的断言&#xff0c;以便查看更多的失败信息。…

C# WPF上位机开发(windows pad上的应用)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 大部分同学可能都认为c# wpf只能用在pc端。其实这是一种误解。c# wpf固然暂时只能运行在windows平台上面&#xff0c;但是windows平台不仅仅是电脑…

【软考中级】网络工程师:8.网络安全

本章考察内容比较广泛&#xff0c;考题对知识点都会有所涉及。 8.1 网络安全的基本概念 8.1.1 网络安全威胁的类型 窃听 这种情况发生在广播式网络系统中&#xff0c;每个节点都可以读取数据&#xff0c;实现搭线窃听、安装通信监视器和读取网上的信息等。 假冒 当一个实体…

nodejs微信小程序+python+PHP的热带野生动物园景点预约订票系统的设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

web前端项目-七彩夜空烟花【附源码】

web前端项目-七彩动态夜空烟花【附源码】 本项目仅使用了HTML&#xff0c;代码简单&#xff0c;实现效果绚丽&#xff0c;且本项目代码直接运行即可实现&#xff0c;无需图片素材&#xff0c;接下来让我们一起实现一场美丽的烟花秀叭 运行效果&#xff1a;鼠标点击和移动可控制…

Navicat误删除生产环境SQLServer2012单表数据后恢复单表数据

背景&#xff1a; 1-后端更新功能部署到客户生产环境时误将测试环境数据保留&#xff0c;项目负责人发现后告知后端。 2-后端登录客户生产数据库使用navicat删除一张表的单表数据时多删了几条数据&#xff0c;判断弄乱了客户生产环境下自己产生的单表数据。 思路&#xff…

基本路径覆盖测试设计-实验九例题

目录 基本路径法 计算环形复杂度需要画出程序的控制流图。控制流图中只有两种图形符号。 实验内容&#xff1a;针对下面的Java语言程序使用基本路径覆盖测试方法设计测试用例。 基本路径法 基本路径法是在程序控制流图的基础上&#xff0c;通过分析控制构造的环路复杂性&#x…

【C++】STL 容器 - list 双向链表容器 ① ( 容器特点 | 容器操作时间复杂度 | 构造函数 )

文章目录 一、 list 双向链表容器简介1、容器特点2、容器操作时间复杂度3、遍历访问5、头文件 二、 list 双向链表容器 构造函数1、默认无参构造函数2、创建包含 n 个相同元素的 list 双向链表3、使用初始化列表构造 list 双向链表4、使用另外一个 list 容器 构造 list 双向链表…