SQL更新语句的执行过程

1、第一步开启一个事务

2、接下来update SQL放往MySQL服务器层,然后经过SQL解析、词法分析和语法分析、查询优化等步骤,最终生成一个物理执行计划

3、MySQL执行器调用InnoDB引擎接口进行后面修改操作

4、在修改数据前需要先把数据查出来

5、把需要修改的数据行查出来之后,需要进行校验锁和加锁的流程(MySQL服务器层的元数据锁、引擎层的表级意向锁和行级排他锁)

6、成功加锁后就可以对数据行进行修改操作,这个过程需要再InnoDB存储引擎中写入数据页、undo log 、redo log,在MySQL服务器层写入Binlog.

7、修改和生成日志完成后,就可以开始提交,这个时候需要进行redo log和binlog落盘,MySQL通过内部的XA事务来协调保证两种日志的一致性。

8、返回客户端提交成功

posted @ 2025-03-27 11:58  Zero&&One  阅读(19)  评论(0)    收藏  举报