undo log回滚日志

记录数据被修改前的信息,作用是提供回滚和MVCC(多版本并发控制),是用来实现事务的原子性

 

undo log和上节课的redo log记录物理日志不一样,undo log是逻辑日志。可以认为当delete删除一条记录时,undo log日志里面 会记录一条对应的insert记录,当update更新一条记录时,undo log日志里面会记录一条相反的update记录。当执行rollback回滚时, 就可以从undo log日志文件中的逻辑记录读取到相应的内容并进行回滚

 

undo log销毁: undo log日志文件在事务执行时产生,事务提交时,并不会立即删除undo log日志文件,因为这些日志可能还用于MVCC

undo log存储: undo log文件采用'段的方式'进行管理和记录,undo log存放在'rollback segment回滚段'中,内部包含1024个undo log segment