fjptec-xm 发表于 2017-12-11 20:13:03

说说MySQL中的Redo log Undo log都在干啥

包含Undo Log操作的Redo Log,看起来是这样的:  记录1: <trx1, Undo log insert <undo_insert …>>
  记录2: <trx1, insert …>
  记录3: <trx2, Undo log insert <undo_update …>>
  记录4: <trx2, update …>
  记录5: <trx3, Undo log insert <undo_delete …>>
  记录6: <trx3, delete …>
  C. 到这里,还有一个问题没有弄清楚。既然Redo没有事务性,那岂不是会重新执行被回滚了的事务?
  确实是这样。同时Innodb也会将事务回滚时的操作也记录到redo log中。回滚操作本质上也是
  对数据进行修改,因此回滚时对数据的操作也会记录到Redo Log中。
  一个回滚了的事务的Redo Log,看起来是这样的:
  记录1: <trx1, Undo log insert <undo_insert …>>
  记录2: <trx1, insert A…>
  记录3: <trx1, Undo log insert <undo_update …>>
  记录4: <trx1, update B…>
  记录5: <trx1, Undo log insert <undo_delete …>>
  记录6: <trx1, delete C…>
  记录7: <trx1, insert C>
  记录8: <trx1, update B to old value>
页: [1]
查看完整版本: 说说MySQL中的Redo log Undo log都在干啥