mysql update 语句操作流程

以  下面语句为例子

UPDATE users SET name = '张三' WHERE id = 1

 

UPDATE 流程与 SELECT 类似(连接器→分析器→预处理器→优化器→执行器),核心区别在于写入阶段涉及日志机制和事务保证

 

UPDATE 写操作 — 日志写入与两阶段提交 (2PC)

  1. undo log:记录修改前的值
  2. 修改数据页(Buffer Pool)内存中修改,产生脏页
  3. redo log (PREPARE 状态) 物理日志 · 记录页级修改 · 写入并刷盘
  4. binlog 写入:逻辑日志 · 主从复制 · 刷盘
  5. redo log(COMMIT 状态):标记事务完成
  6. 事务提交

image

 

 


posted @ 2023-06-26 08:30  方达达  阅读(4)  评论(0)    收藏  举报