MySQL--InnoDB存储引擎--架构

目录

一、InnoDB存储引擎的架构

二、InnoDB架构设计的原因


一、InnoDB存储引擎的架构

下图是官方给出的架构图,可以看出InnoDB主要包括内存结构和磁盘结构:

内存结构包括:缓冲池(Buffer Pool)、变更缓冲区(Change Buffer) 、日志缓冲区(Log Buffer)、自适应哈希(Adaptive Hash Index)

磁盘结构包括:系统表空间(System Tablespace)、独立表空间(File-Per-Table Tablespaces)、通用表空间(General Tablespaces)、临时表空间(Temporary Tablespaces)、撤销表空间(Undo Tablespaces)、重做日志(Redo Log)、双写缓冲区(Doublewrite Buffer)

二、InnoDB架构设计的原因

我们知道数据库的作用就是用于保存数据,用户的真实数据最终都会保存在磁盘上,在查询数据的过程中,如果每次都需要从磁盘上读取就会相当的影响效率,为了提高数据的访问效率,InnoDB就会将查询到的数据缓存到内存上,当再次查询时,如果目标数据已经缓存在内存上就可以直接从内存上读取数据,从而大幅提升效率。

综上所述,也就是说磁盘结构中的文件是用来保存数据实现数据的持久化的,内存结构是用于缓存数据提高效率的。

相关推荐
关关长语3 小时前
Windows 安装配置解压版Mysql8.4.5
运维·windows·mysql
小蒜学长3 小时前
汽车专卖店管理系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·汽车
柏油6 小时前
MySQL InnoDB 后台线程
数据库·后端·mysql
老华带你飞6 小时前
社区互助|基于SSM+vue的社区互助平台的设计与实现(源码+数据库+文档)
java·前端·数据库·vue.js·小程序·毕设·社区互助平台
流火无心8 小时前
mysql索引优化实战
mysql·优化·索引
C++chaofan9 小时前
Spring Task快速上手
java·jvm·数据库·spring boot·后端·spring·mybatis
geovindu12 小时前
sql: Creating a Delimited List from Table Rows
mysql·postgresql·oracle·sqlserver
三贝12 小时前
Java面试现场:Spring Boot+Redis+MySQL在电商场景下的技术深度剖析
spring boot·redis·mysql·微服务·分布式事务·java面试·电商系统
RestCloud12 小时前
从 Oracle 到 TiDB,通过ETL工具,高效实现数据拉通
数据库·oracle
阿里云大数据AI技术12 小时前
[VLDB 2025]阿里云大数据AI平台多篇论文被收录
数据库·flink