InnoDB引擎底层逻辑讲解——架构之磁盘架构

1. System Tablespaces区域

系统表空间是change buffer(更改缓冲区)的存放区域,这是在8.0之后重新规划的,在5.x版本的时候,系统表空间还会存放innodb的数据字典undolog日志等信息,在8.0之后主要主要存放更改缓冲区的数据。如果innodb引擎当中,每一张表的独立表空间关闭着的话,那么所有的表的数据以及表的索引也是在系统表空间存储着的,那么系统表空间对应着的参数为innodb_data_file_path

在这里插入图片描述

show variables like '%data_file_path%';

在这里插入图片描述
在这里插入图片描述

2. File-Per-Table Tablespaces区域

File-Per-Table Tablespaces: 每个表的文件表空间包含单个InnoDB表数据和索引,并存储在文件系统上的单个数据文件中 查看参数为:innodb_file_per_table

show variables like '%file_per_table%';

在这里插入图片描述
在这里插入图片描述
每一个 .ibd文件 都是一个表空间文件,表空间中存放着这张表的表结构,以及表中的数据索引。

3. General Tablespaces区域

通用表空间,如果没有自己去创建,是没有这个表空间文件的。创建完该表空间可以指定使用该表空间。 datafile关键字后面跟的是表空间关联的表空间文件。
在这里插入图片描述
创建表空间

create tablespace ts_itheima add datafile 'myitheima.ibd' engine = innodb;

创建表到指定的表空间内

create table a(id int primary key auto_increment,name varchar(10) engine = innodb tablespace ts_itheima;

通用表空间需要自己创建,并且在创建表的时候需要自己去指定关联的表空间是谁。
在这里插入图片描述
通用表空间创建完成,通用表空间需要自己创建,创建表的时候需要自己去指定关联的表空间是谁。

4. Undo Tablespaces撤销表空间

这个表空间主要存放着undolog日志,这里面会涉及到两个大小相同的表空间,这两个大小相同的表空间叫undo_001和undo_002,默认是这两个。这两个文件就是撤销表空间所对应的文件。
在这里插入图片描述
在这里插入图片描述

5. Temporary Tablespaces临时表空间

临时表空间主要存储一些用户创建的临时表。
在这里插入图片描述

6. Doublewrite Buffer Files双写缓冲区

在这里插入图片描述

7. Redo Log重做日志

当事务提交,redo log的意义就不大了,它的作用是异常时保证数据恢复。从而保证事务的持久性。
在这里插入图片描述

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

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

相关文章

APP开发入门:了解主流的编程语言

在过去的几年里,有许多程序员开始学习和使用编程语言。这其中包括C、C、 Java和 Python。尽管有许多语言可供选择,但大多数程序员都会选择最容易学习的编程语言。 如今,有很多编程语言供选择。程序员们在学习这些语言时可以自由地选择他们喜…

原子操作的重要性

原子操作:要么不做,要么一次性做完 非原子操作 其实ABCD都是对的。 B选项:正常执行,I线程执行2条语句全部执行完毕,再执行II线程重新执行一遍foo函数。 C选项:先执行I线程foo函数第一行代码,然后跳转执行…

蓝牙、GPS定位学习

启动状态(APP) 冷启动 指在启动应用时,后台没有应用的进程或者进程被杀死的情况下,系统会重新创建一个新的进程,并按照一定的顺序创建和初始化Application类和MainActivity类,最后显示在界面上。这个过程需…

深度学习技巧应用24-深度学习手撕代码与训练流程的联系记忆方法

大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用24-深度学习手撕代码与训练流程的联系记忆方法,大家都知道深度学习模型训练过程是个复杂的过程,这个过程包括数据的收集,数据的处理,模型的搭建,优化器的选择,损失函数的选择,模型训练,模型评估等步骤,其中缺少…

/bin/bash: Resource temporarily unavailable

有现场反馈plsql无法连接数据库了,登录环境查看时发现从root切换到grid时报错/bin/bash: Resource temporarily unavailable [rootdb1 ~]# su - grid Last login: Thu Jul 27 18:45:04 CST 2023 su: failed to execute /bin/bash: Resource temporarily unavailab…

springboot 入门

前提是已安装java环境,分为三部分 一、项目构建 二、项目组成 三、常用注解 Demo源码 spring-demo: springboot 入门项目 一、springboot-stater 使用IDEA快速构建springboot项目 1、新建项目 2、选择maven,在选择next 3、填写好项目信息 4、pom…

学习购药系统源码:从前端到后端的技术探索

本文将带领读者探索购药系统源码,从前端到后端逐步深入,了解其核心功能和实现方式。我们将使用常见的Web技术,包括HTML、CSS、JavaScript、以及Python的Django框架,展示购药系统的技术奥秘。 前端技术探索 HTML结构搭建 购药系…

el-cascader级联选择器加载远程数据、默认开始加载固定条、可以根据搜索加载远程数据。

加载用户列表分页请求、默认请求20条数据。想添加远程搜索用户功能。原有的方法filter-method不能监听到输入清空数据的时候。这样搜索完无法返回默认的20条数据。直接监听级联选择的v-model绑定的值是无法检测到用户自己输入的。 解决思路: el-cascader 没有提供…

mac 下用brew快速安装CommandLineTools

有时候用git 就会提示安装CommandLineTools ,xcode太大又不想安装,怎么办呢我们可以试下下面的方式 什么是Brew: Brew是Mac OS X下的一个包管理器,可以方便地安装、升级和卸载很多常用的软件包 在mac下如何安装呢: …

机器学习十大经典算法

机器学习算法是计算机科学和人工智能领域的关键组成部分,它们用于从数据中学习模式并作出预测或做出决策。本文将为大家介绍十大经典机器学习算法,其中包括了线性回归、逻辑回归、支持向量机、朴素贝叶斯、决策树等算法,每种算法都在特定的领…

Vue3实现6位验证码输入框,用户可以连续输入和删除

实现代码 可以随意填写删除 <template><div class"verification-container"><inputv-for"(code, index) in verificationCodes":key"index"v-model"verificationCodes[index]"input"handleInput(index, $event…

vscode里安装Go插件和配置Go环境

vscode是一款跨平台、轻量级、插件多的开源IDE&#xff0c;在vscode不仅可以配置C/C、Python、R、Ruby等语言的环境&#xff0c;还可以配置Go语言的环境。这里介绍在vscode里安装Go语言的插件和配置Go语言环境&#xff0c;系统是Win10 64位。 1、下载Go安装包和配置GOROOT、GO…

P3374 【模板】树状数组 1 浅谈树状数组 (内附封面)

【模板】树状数组 1 题目描述 如题&#xff0c;已知一个数列&#xff0c;你需要进行下面两种操作&#xff1a; 将某一个数加上 x x x 求出某区间每一个数的和 输入格式 第一行包含两个正整数 n , m n,m n,m&#xff0c;分别表示该数列数字的个数和操作的总个数。 第二…

【docker】Windows11系统下安装并配置阿里云镜像加速

【docker】Windows11系统下安装并配置阿里云镜像加速 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【docker】Windows11系统下安装并配置阿里云镜像加速一、查看Windows环境是否支持docker二、 启动Hyper-V三、 官网下载安装Docker应用和数据…

数据包在网络中传输的过程

ref: 【先把这个视频看完了】&#xff1a;数据包的传输过程【网络常识10】_哔哩哔哩_bilibili 常识都看看 》Ref&#xff1a; 1. 这个写的嘎嘎好&#xff0c;解释了为啥4层7层5层&#xff0c;还有数据包封装的问题:数据包在网络中的传输过程详解_数据包传输_张孟浩_jay的博客…

python与深度学习(十三):CNN和IKUN模型

目录 1. 说明2. IKUN模型2.1 导入相关库2.2 建立模型2.3 模型编译2.4 数据生成器2.5 模型训练2.6 模型保存2.7 模型训练结果的可视化 3. IKUN的CNN模型可视化结果图4. 完整代码 1. 说明 本篇文章是CNN的另外一个例子&#xff0c;IKUN模型&#xff0c;是自制数据集的例子。之前…

VLAN介绍

目录 VLAN的特点: VLAN的好处: VLAN的实现原理 VLAN标签 VLAN的划分方式 接口划分VLAN--接口类型 Access接口 Trunk接口 Hybrid接口 实现VLAN之间通信 使用路由器物理接口 使用子接口 使用三层交换机的VLANIF接口 配置 VLANIF的转发流程 三层交换机参与下的三层…

洞悉安全现状,建设网络安全防护新体系

一、“网络攻防演练行动“介绍 国家在2016年发布《网络安全法》&#xff0c;出台网络安全攻防演练相关规定&#xff1a;关键信息基础设施的运营者应“制定网络安全事件应急预案&#xff0c;并定期进行演练”。同年“实战化网络攻防演练行动”成为惯例。由公安部牵头&#xff0…

STM32入门——GPIO输入输出

GPIO简介 GPIO&#xff08;General Purpose Input Output&#xff09;通用输入输出口 可配置为8种输入输出模式引脚电平&#xff1a;0V~3.3V&#xff0c;部分引脚可容忍5V输出模式下可控制端口输出高低电平&#xff0c;用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模…

前端开发:基于cypress的自动化实践

如何在vue中使用cypress如何运行cypress如何编写测试用例如何解决测试数据的问题遇到的元素定位的问题如何看待cypresscypress是否为最佳工具测试怎么办&#xff1f; 如何在vue中使用cypress vue提供了vue-cli 可以快速的创建vue项目。 vue create hello-world在选择安装项里…