可串行化
冲突可串行化是可串行化的充分条件
CLR
数据库恢复
分析阶段
graph TD
A(把事务加入事务表)-->C(把已结束的事务剔除出事务表)
C --> D(把影响到的页加入脏表, recLSN选最早影响它的日志的LSN)
重做阶段
把检查点后,崩溃前的没提交的事务的更新和CLR再过一遍,目的是使数据库恢复到崩溃时的状态。
反做阶段
graph TD
B(确定没完成的事务) --> |构建undo| A
A{查看undo集里的项}-->|有update| C(对应加入CLR)
A -->|有CLR| D(一直添加CLR直到它们都被undo)
根据没完全完成的事务,如果undo集有update就对应加入CLR,如果有CLR就一直添加CLR直到它们都undo。