MySQL更新语句执行流程
转自 02 | 日志系统:一条SQL更新语句是如何执行的? - MySQL实战45讲
问大家一个问题。 UPDATE t set c = 2 where id = 1 ;
这个更新语句是怎么执行的。
假设表结构是
CREATE TABLE `t` (
`id` int(11) NOT NULL,
`c` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
(7) 更新一条语句的流程
- 连接器 连接数据库。
- 清空对应表缓存
- 分析器 词法解析 语法解析
- 优化器
- 执行器
- 更新 redo log(重做日志)和 binlog(归档日志)。