MySQL.MySQL执行过程
2021-09-28 17:26:17 86 举报
MySQL.MySQL执行过程
作者其他创作
大纲/内容
server层
page......
查询缓存
连接器
update Student set name='张三1' where id = 1,原值‘张三’
2.写入更新数据的旧值,便于回滚
binlog文件(属于Server层)name=张三1
6.提交事务binlog写入磁盘
修改的数据
管理连接与权限校验
执行器
Buffer Pool 缓存池
分析器
语法分析与词法分析
磁盘文件(xx.ibd)
redo日志文件(InnoDB特有)name=张三1
pagename = 张三1......
Redo LogBuffer
客户端
undo日志文件(innoDB特有)name=张三
5.准备提交事务redo 日志写入磁盘
调用引擎接口
IO线程
pagename=张三
1.加载缓存数据id为1的记录所在页的整页数据
执行计划生成与索引选择
7.写入uncommit标记到redo日志文件中提交事务完成,该标记为例保证事务提交后redo与binlog数据一致
4.写Redo日志
8.修改后数据写入磁盘
优化器
数据库的增删查改操作都是直接操作Buffer Pool,其大小一般设置为机器内存的60%
3.更新内存数据
MySQL内部数据以页(默认16K)为单位,MySQL拿数据一次拿一页或几页
0 条评论
下一页