MySQL|update字段为相同的值是否会记录binlog-创新互联

MySQL|update字段为相同的值是否会记录binlog?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

成都创新互联于2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元兴山做网站,已为上家服务,为兴山各地企业和个人服务,联系电话:18980820575

测试

2.1  binlog_format 为 ROW 模式

MySQL|update字段为相同的值是否会记录binlog

2.2  binlog_format 为 STATEMENT 模式

MySQL|update字段为相同的值是否会记录binlog

解析binlog内容,完整的记录了update语句。

MySQL|update字段为相同的值是否会记录binlog

2.2  binlog_format 为 MIXED 模式

MySQL|update字段为相同的值是否会记录binlog

当 row_format 为mixed或者statement格式是,binlog 的大小发生改变,不管是否真的更新数据,MySQL都记录执行的sql 到binlog。

三 小结

基于row模式时,server层匹配到要更新的记录,发现新值和旧值一致,不做更新,就直接返回,也不记录binlog。

基于 statement 或者 mixed格式,MySQL执行 update 语句,并把更新语句记录到binlog。

那为什么问题来了 statement 和 mixed 会完整的记录sql语句呢?且听下回分解吧,因为我要解析源码,使用Clion 编译MySQL 调试环境还没成功。

看完上述内容,你们掌握MySQL|update字段为相同的值是否会记录binlog的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联-成都网站建设公司行业资讯频道,感谢各位的阅读!


分享标题:MySQL|update字段为相同的值是否会记录binlog-创新互联
文章路径:http://scyanting.com/article/cdcpeh.html