一、MySQL一个查询语句执行过程如下图🔽
MySQL客户端查询,经过查询缓存、解析器、查询优化器、查询执行引擎,通过API接口查询,经过存储引擎,获取数据返回给客户端。
二、事务执行过程如下图🔽
1、MySQL客户端传入SQL语句
2、server层把name='B'所在行的name字段改为A
3、存储引擎(InnoDB)把修改结果更新到内存中就是(Buffer Pool)
4、记录redo log,并且将这行记录状态置为prepare
5、存储引擎告诉server层修改好了可以提交事务
6、server层把记录写入bin log
7、server提交commit事务给存储引擎
8、存储引擎把redo log这个事务相关状态更改为commit状态