本文主要测试MySQL执行更新语句时,针对与原数据(即未修改)相同的更新语句会在MySQL内部重新执行吗?
-
<李> MySQL5.7.25李>
<李> Centos 7.4 李>
<强>参数强>
04:53:15> root@localhost:(一);显示变量如“binlog_row_image”; + - - - - - - - - - - - - - - - - - - - - - - - - - + + | | Variable_name |值 + - - - - - - - - - - - - - - - - - - - - - - - - - + + | binlog_row_image | | + - - - - - - - - - - - - - - - - - - - - - - - - - + + 1行集(0.00秒) 04:53:49> root@localhost:(一);显示变量如“binlog_format”; + - - - - - - - - - - - - - - - - - - - - - - - - - + | | Variable_name |值 + - - - - - - - - - - - - - - - - - - - - - - - - - + | | binlog_format |行 + - - - - - - - - - - - - - - - - - - - - - - - - - + 1行集(0.00秒) root@localhost:测试05:15:14>显示变量如“transaction_isolation”; + - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + | | Variable_name |值 + - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + | transaction_isolation |可重复读| + - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + 1行集(0.00秒)
<强>测试步骤强>
session1
root@localhost:测试04:49:48>开始; 查询好,0行影响(0.00秒) root@localhost:测试04:49:52>select *从测试id=1; + - - - + - - - + - - - - - - - - - - - - + + | | id sid | | |中期的名字 + - - - + - - - + - - - - - - - - - - - - + + | 1 | 999 | 871 | NW | + - - - + - - - + - - - - - - - - - - - - + + 1行集(0.00秒) 04:54:03> root@localhost:(一);显示引擎innodb状态\ Gshow主人地位\ G … --- 日志 --- 日志序列号12090390 日志刷新到12090390 页面刷新到12090390 最后一个检查点在12090381 等待日志刷新、0等待chkp写道 33日志i/o完成,0.00日志i/o/秒 * * * * * * * * * * * * * * * * * * * * * * * * * * * 1。行 *************************** 文件:mysql-bin.000001 位置:154 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1行集(0.00秒)中
<强> session2 强>
root@localhost:测试04:47:45>更新测试集sid=55 id=1; 查询好了,1行影响(0.01秒) 行匹配:1改变:1警告:0 04:54:03> root@localhost:(一);显示引擎innodb状态\ Gshow主人地位\ G … --- 日志 --- 日志序列号12091486 日志刷新到12091486 页面刷新到12091486 最后一个检查点在12091477 等待日志刷新、0等待chkp写道 39日志i/o完成,0.00日志i/o/秒 * * * * * * * * * * * * * * * * * * * * * * * * * * * 1。行 *************************** 文件:mysql-bin.000001 位置:500 Binlog_Do_DB: Binlog_Ignore_DB: d215 Executed_Gtid_Set: 8392 - 4928 - 11 - e9 a751 - 0242 ac110002:1 1行集(0.00秒)
<强> session1 强>
root@localhost:测试04:49:57>更新测试集sid=55 id=1; 查询好,0行影响(0.00秒) 行匹配:1改变:0警告:0 04:54:03> root@localhost:(一);显示引擎innodb状态\ Gshow主人地位\ G … --- 日志 --- 日志序列号12091486 日志刷新到12091486 页面刷新到12091486 最后一个检查点在12091477 等待日志刷新、0等待chkp写道 39日志i/o完成,0.00日志i/o/秒 * * * * * * * * * * * * * * * * * * * * * * * * * * * 1。行 *************************** 文件:mysql-bin.000001 位置:500 Binlog_Do_DB: Binlog_Ignore_DB: d215 Executed_Gtid_Set: 8392 - 4928 - 11 - e9 a751 - 0242 ac110002:1 1行集(0.00秒) root@localhost:测试04:52:05>select *从测试id=1; + - - - + - - - + - - - - - - - - - - - - + + | | id sid | | |中期的名字 + - - - + - - - + - - - - - - - - - - - - + + | 1 | 999 | 871 | NW | + - - - + - - - + - - - - - - - - - - - - + + 1行集(0.00秒) root@localhost:测试04:52:42>提交; 查询好,0行影响(0.00秒) root@localhost:测试04:52:52>select *从测试id=1; + - - - + - - - + - - - - - - - - - - - - + + | | id sid | | |中期的名字 + - - - + - - - + - - - - - - - - - - - - + + 西北55 | 1 | | 871 | | + - - - + - - - + - - - - - - - - - - - - + + 1行集(0.00秒)MySQL执行更新语句和原数据相同会再次执行吗