delete的undo log
题记
- 在undoLog不同的格式中已经提及
- undo log是干啥的,字面意思,就是不做
- 此处不做扩展,就是为了回滚
- 那么,可想而知,undo log一定能提供足够的信息去做这件事
形成过程
- 删除阶段经历两个过程
- 阶段1:将聚簇索引中记录的delete_flag 标识为1
- 阶段2:删除语句所在的事务提交后 ,会有线程将记录真正删除掉
- 事务提交,也就没有回滚必要
- 所以,delete的undo log只需要考虑阶段1 的回滚
- 如图

- 不得不说,上图的信息,没有点底子,看起来真难
- 不是说阶段1没有真正删除,如果需要回滚,将delete_flag重置不就行了
- 说的很有道理啊!...
结尾
- 如果大家都觉得很有道理
- 那就应该少数服从多数,重置delete_flag即可
- 但是,在历史的长河之中,真相又掌握在少数人手中
- 欲知后事如何,请看下一集
