【MySQL深入】一条SQL更新语句的执行过程

本文深入探讨了MySQL中一条update语句的执行流程,涉及MySQL的逻辑架构、redo log和binlog。redo log用于提高性能并实现crash-safe,binlog用于归档和复制。文章详细解析了redo log的写入流程、binlog的模式及其保证完整性的方式,以及两者的区别。此外,还讨论了undo log的作用和存储,以及update语句执行的两阶段提交机制。
摘要由CSDN通过智能技术生成

1.MySQL逻辑架构示意图

MySQL逻辑架构示意图

  • 对于一条update语句来说,也会执行上图中的流程,如果您对于上图中的连接器、分析器等名词不太熟悉,请查看上一篇文章:MySQL逻辑架构中各名词详解

2.一条示例update语句执行过程简析

# 建表SQL
create table `article` (
    `id` bigint(20) unsigned NOT NULL DEFAULT 0,
    `commentcnt` int(11) unsigned NOT NULL DEFAULT 0,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
# 插入数据
insert into `article` (`id`, `commentcnt`) values(1, 11);
insert into `article` 
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值