sql执行流程 buffer pool工作机制
2022-08-25 16:56:09 1 举报
sql执行流程 buffer pool工作机制
作者其他创作
大纲/内容
2. 将待更新数据的原值写入undo日志便于回滚
连接器
id为1 的记录原name为xiaofeng
6. 提交事务数据写入bin log文件
修改的数据
IO线程
3. 更新内存数据
分析器
redo logbuffer
name=\"xiaolv\"
查询缓存
bin log日志主要用来回复磁盘上的数据
server层
执行器
数据库的增删改查都是直接操作的buffer pool ,buffer pool大小一般设置为机器内存的60%
undo日志文件(Innodb引擎特有)name=xiaofeng
7. 写入commit标记到redo log中,用于保证事务提交后 redo log中的数据和bin log中的数据保持一致
page .....
管理连接与权限校验
buffer pool 缓存池
pagename=\"xiaolv\" .....
如果事务提交成功了,buffer pool缓存中的数据还没来的及写入磁盘,可以使用redo log来恢复buffer pool中的数据
update user set name=\"xiaolv\" where id=1
优化器
磁盘文件(ibd)
语法分析词法分析
1. 加载id=1的数据页进缓存
生成执行计划选择索引
8. 随机将buffer pool中的数据写入磁盘以page为单位,name=\"xiaolv\"
如果事务提交失败可以使用undo日志对buffer pool中的数据进行回滚
page name=xiaofeng ......
redo日志文件(Innodb 引擎特有)
5. 准备提交事务,将redo log写入磁盘
bin log日志文件(server层)
4. 写redo日志
Innodb 执行引擎
0 条评论
下一页