当mysql开启二进制选项时候,设置binlog-format=row的时候,因为row模式是记录表的行更改情况,
不知道这些对应的语句写入binlog时候,这些语句是怎么生成的,是根据什么生成的,是不是根据重做日志生成的,就是redo日志生成的,等到事务commit的时候再写入二进制文件中。
不知道我理解的对不对。
不知道这些对应的语句写入binlog时候,这些语句是怎么生成的,是根据什么生成的,是不是根据重做日志生成的,就是redo日志生成的,等到事务commit的时候再写入二进制文件中。
不知道我理解的对不对。
如果是STATEMENT模式和mixed模式下,我还可以理解成根据sql语句生成的,但是row模式下,
假如update from t set f1=1;这种情况怎么根据sql语句生成呢,
我看过里面二进制里面的内容,都是记录了每条记录当前行的所有字段的情况,
如果说是根据sql语句来生成,我觉得太难理解了,我觉得更有可能是根据redo日志来生成的。