MySQL架构中InnoDB存储引擎结构
2021-07-29 00:29:40 7 举报
MySQL架构中InnoDB存储引擎结构
作者其他创作
大纲/内容
执行器
执行计划
SQL语句
描述数据
flush链表
Tomcat
SQL接口
基础节点base
undo 日志文件
MySQL服务器
2.写入数据的旧值到undo,便于回滚
SQL解析器
磁盘文件
连接
Buffer Pool
脏数据
缓存页(热数据区)
缓存页(冷数据区)
查询优化器
查询最优路径
连接池
1.从数据页加载数据到Buffer Pool里去
一行数据
InnoDB存储引擎
free链表
chunk
7写入binlog文件与与位置,写入commit标记
8.刷新磁盘
redo日志文件
5,准备提交事务 redo日志刷入磁盘
4.写入redo日志
6.准备提交事务 binglog日志写入磁盘
MySQL架构网络连接必须让线程来处理网络连接必须得分配给一个线程去进行处理,由一个线程来监听请求以及读取请求数据SQL接口:负责处理接收到的SQL语句专门用于执行我们发送给MySQL的那些增删改查的SQL语句查询解析器:让MySQL能看懂SQL语句就是按照既定的SQL语法,对我们按照SQL语法规则编写的SQL语句进行解析,然后理解这个SQL语句要干什么事情查询优化器:选择最优的查询路径,选择一个最优的查询路径调用存储引擎接口,真正执行SQL语句存储引擎其实就是执行SQL语句的,他会按照一定的步骤去查询内存缓存数据,更新磁盘数据,查询磁盘数据,等等,执行诸如此类的一系列的操作执行器执行器就会去根据我们的优化器生成的一套执行计划,然后不停的调用存储引擎的各种接口去完成SQL语句的执行计划
3.更新内存数据
调用接口,完成SQL语句执行
解析SQL
线程
Redo log Buffer
数据页(16kb)
数据页缓存哈希表表空间+数据页号=缓存页地址表空间+数据页号=缓存页地址表空间+数据页号=缓存页地址
binlog日志文件
获取SQL
LRU链表
0 条评论
下一页