点击蓝色“架构文摘”关注我哟
加个“星标”,每天上午 09:25,干货推送!
作者:powdba
https://yq.aliyun.com/articles/694162
一、背景
本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执行吗?
二、测试环境
MySQL5.7.25
Centos 7.4
三、binlog_format为ROW
1、参数
2、测试步骤
session1
session2
session1
3、总结
在binlog_format=row和binlog_row_image=FULL时,由于MySQL 需要在 binlog 里面记录所有的字段,所以在读数据的时候就会把所有数据都读出来,那么重复数据的update不会执行。即MySQL 调用了 InnoDB 引擎提供的“修改为 (1,55)”这个接口,但是引擎发现值与原来相同,不更新,直接返回。
四、binlog_format为STATEMENT
1、参数
2、测试步骤
session1
session2
session1
3、总结
在binlog_format=statement和binlog_row_image=FULL时,InnoDB内部认真执行了update语句,即“把这个值修改成 (1,999)“这个操作,该加锁的加锁,该更新的更新。
end
推荐阅读:
如有收获,点个在看,诚挚感谢
复制
文章转载自架构文摘,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1327次阅读
2025-03-13 11:40:53
MySQL8.0统计信息总结
闫建(Rock Yan)
501次阅读
2025-03-17 16:04:03
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
469次阅读
2025-03-13 14:38:19
SQL优化 - explain查看SQL执行计划(一)
金同学
398次阅读
2025-03-13 16:04:22
MySQL突然崩溃?教你用gdb解剖core文件,快速锁定“元凶”!
szrsu
377次阅读
2025-03-13 00:29:43
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
chengang
331次阅读
2025-03-17 10:36:40
MySQL数据库当前和历史事务分析
听见风的声音
305次阅读
2025-04-01 08:47:17
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
252次阅读
2025-03-28 16:28:31
一键装库脚本3分钟极速部署,传统耗时砍掉95%!
IT邦德
240次阅读
2025-03-10 07:58:44
墨天轮个人数说知识点合集
JiekeXu
239次阅读
2025-04-01 15:56:03