一 前言

前几天一个开发同事咨询我,update 更新字段为相同的值是否会记录binlog,我回复说不会。

其实 严格的说这个答案是不准确的,说要区分场景。是否记录 update 语句到binlog依赖于 binlog_format

的设置。具体情况 实践出真知。

二 测试

2.1  binlog_format

为 ROW 模式

2.2  binlog_format

为 STATEMENT 模式

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

2.2  binlog_format

为 MIXED 模式

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

三 小结

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

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

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

mysql bin值总是变化_MySQL|update字段为相同的值是否会记录binlog相关推荐

  1. MySQL数据库建表时对于某个字段设置了默认值,但是使用Spring Data Jpa的save后默认值没有生效

    问题描述:MySQL数据库建表时对于某个字段设置了默认值,但是使用Spring Data Jpa的save后默认值没有生效.MySQL数据库中构建的用户表表结构如下所示: DROP TABLE IF ...

  2. mysql bin的过期时间_Mysql设置binlog过期时间并自动删除

    问题: Mysql数据库由于业务原因,数据量增长迅速,binlog日志会增加较多,占用大部分磁盘空间. 解决方案: 出于节约空间考虑,可进行删除多余binary日志,并设置定期删除操作. 1.查看bi ...

  3. mysql字段值不能修改_mysql修改字段属性不起作用

    之前遇到一个bug,后来发现了原因,现在来纪录下吧,省的以后忘了. bug:在数据库中定义了一个字段,类型为decimal(8,2) (PS:decimal(M,D)M数值的总位数. 通俗点讲,就是看 ...

  4. mysql怎么同时输入多个值_mysql – 一个字段搜索多个值

    只是"有效"的简单解决方案可能是: SELECT * FROM products JOIN colors ON colors.id = products.color_id WHER ...

  5. Mysql增强半同步模式_MySQL增强半同步参数rpl_semi_sync_master_wait_point值AFTER_SYNC和AFTER_COMMIT...

    转自 https://www.cnblogs.com/syksky/p/9429206.html MySQL 5.7.22 启用增强半同步复制 MySQL对该参数值的描述 Semisync can w ...

  6. mysql 行级锁 索引_mysql 行级锁 索引唯一值

    做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统.假设 id=1 的这本书库存为 1 ,但是有 2 个人同时来借这本书,此处的逻辑为 Select rest ...

  7. mysql表设计 列命名_MYSQL数据库字段命名及设计规范

    1.设计原则 1) 标准化和规范化 数据的标准化有助于消除数据库中的数据冗余.标准化有好几种形式,但 Third Normal Form(3NF)通常被认为在性能.扩展性和数据完整性方面达到了最好平衡 ...

  8. mysql按逗号拼接起来_MySQL ----- 计算字段(Trim,Concat,as)(九)

    存储在数据库表中的数据一般不是应用程序所需要的格式: 一种是从数据库中检索出转换.计算或格式化过的数据 另一种是将检索出数据在客户机应用程序或报告程序中重新格式化 这里当然建议使用第一种,借助计算字段 ...

  9. mysql获取两个表中日期字段的最小差值

    一.前言 开发中碰到的需求,获取两个数据表中日期字段的差值,并且取得差值最小的那条数据.本篇文章主要讲述如果通过函数获取mysql的日期差值,实际编写时遇到的问题,并且分析需求,得出最终sql等. 二 ...

最新文章

  1. 一起学mini2440裸机开发(十)--mini2440外部中断实验
  2. VTK:绘图之SpiderPlot
  3. 0.IDA-基本的反汇编算法
  4. [RabbitMQ]创建Java开发环境_消费者_生产者
  5. smarty的配置与安装
  6. Win 7 安装VMware Workstation Pro 14出现 “Intel VT-x禁用”问题以及“无法连接 MKS: 套接字连接尝试次数太多;正在放弃”问题的实质性解决
  7. Python Tensorflow下的Word2Vec代码解释
  8. FleaPHP的单入口文件详解
  9. 67. 把字符串转换成整数
  10. 如何使用Keil5中的虚拟示波器进行软件仿真
  11. Spark的坑--Spark新手必看--Python Spark必读,耗费了我近三周的时间
  12. vscode怎么运行android项目,windows + flutter +android+ vscode 安装配置运行流程(详细版本)...
  13. 如何测试服务器性能?
  14. VC++中unhandled exception的处理
  15. Shor’s Algorithm 学习笔记
  16. 电子电路学习笔记(8)——二极管的作用
  17. 济南谷道电子商务正式落地济南!! 外贸牛是什么
  18. 西门子S7-1200PLC双轴定位算法电池焊接控制博图程序案例,触摸屏画面采用威纶触摸屏
  19. 【eXtremeComponents总结系列】使用总结(转载)
  20. 基于python的网站开发-FlaskWeb开发:基于Python的Web应用开发实战 pdf下载

热门文章

  1. 拖动无边框的登入窗口
  2. TS Introduction(介绍)
  3. 7-14 求整数段和 (15 分)
  4. C语言中如何将小数或整数和字符串合二为一
  5. 延时函数、数码管显示头文件(单片机)
  6. c语言vco_VCO仿真的方法
  7. 计网期末复习 - 子网划分
  8. 关于git远程版本库的一些问题之解决
  9. 通过结构体某个成员的地址计算结构体首地址
  10. Leetcode题解(十三)