redo和binlog的写入点不同。binlog只在事务提交完成后进行一次写入,而innodb的redo在事务进行中不断写入,并不是随事务提交的顺序写入的。
比如写redo的顺序:T1,T2
binlog写顺序:T2,T1
如果T1是insert,T2是在T1的基础上update。将binlog传输到slave后,slave上执行顺序是T2,T1.
这样岂不是造成主从不一致?
各位有什么看法?或者我理解的哪里不对?
redo和binlog的写入点不同。binlog只在事务提交完成后进行一次写入,而innodb的redo在事务进行中不断写入,并不是随事务提交的顺序写入的。
比如写redo的顺序:T1,T2
binlog写顺序:T2,T1
如果T1是insert,T2是在T1的基础上update。将binlog传输到slave后,slave上执行顺序是T2,T1.
这样岂不是造成主从不一致?
各位有什么看法?或者我理解的哪里不对?