Select语句的执行过程会经过连接器、分析器、优化器、执行器、存储引擎,同样的Update语句也会同样走一遍 Select语句的执行过程,但是和 elect最大不同的是,Update语句会涉及到两个日志的操作redo log(重做日志)和 binlog(归档日志)。
关键词:MySQL、Select语句、Update语句、redo log、binlog
本文作者:CSDN博主【程序猿进阶】
Select语句的执行过程会经过连接器、分析器、优化器、执行器、存储引擎,同样的Update语句也会同样走一遍 Select语句的执行过程,但是和 elect最大不同的是,Update语句会涉及到两个日志的操作redo log(重做日志)和 binlog(归档日志)。
关键词:MySQL、Select语句、Update语句、redo log、binlog
本文作者:CSDN博主【程序猿进阶】






update user set age=age+1 where id =2;
复制
执行器会调用引擎的读接口,然后找到id=2的数据行,因为id是主键索引,索引按照树的搜索找到这一行,若是数据行已经存在于内存的数据页中就会立即将结果返回,若是不在内存中,就会从磁盘中进行加载到内存中,然后将查询的结果返回。 执行器将返回的结果的age字段+1,并调用引擎的写接口写入更新后的数据行。 引擎获取到更新后的数据行更新到内存和redo log(也是写入磁盘,顺序写入,比较快)中,并告诉执行器可以随时提交事务,此时的redo log处于prepare阶段。 执行器收到引擎的告知后,生成binlog日志,并且调用引擎的接口提交事务,引擎将redo log的状态修改为commit状态,这样这个更新操作算是完成。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【MySQL 30周年庆】MySQL 8.0 OCP考试限时免费!教你免费领考券
墨天轮小教习
1639次阅读
2025-04-25 18:53:11
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
严少安
625次阅读
2025-04-25 15:30:58
墨天轮个人数说知识点合集
JiekeXu
464次阅读
2025-04-01 15:56:03
MySQL数据库当前和历史事务分析
听见风的声音
450次阅读
2025-04-01 08:47:17
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
391次阅读
2025-04-17 17:02:24
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
369次阅读
2025-04-15 23:49:58
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
343次阅读
2025-04-15 14:48:05
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
316次阅读
2025-04-07 12:14:29
记录MySQL数据库的一些奇怪的迁移需求!
陈举超
211次阅读
2025-04-15 15:27:53
[MYSQL] 服务器出现大量的TIME_WAIT, 每天凌晨就清零了
大大刺猬
188次阅读
2025-04-01 16:20:44