知识卡片

刷盘策略决定日志机制的必要性

普通读书笔记卡

内容

数据库对”未提交能否写盘”(Steal)和”已提交是否立即写盘”(Force)的选择决定所需日志机制。Force+No Steal不需日志但性能差;No Force+No Steal只需Redo Log;Force+Steal只需Undo Log;现代数据库用No Force+Steal最优灵活,但须同时具备Redo和Undo Log,是ARIES复杂的根源。

参考来源

- 位置:第6章《数据库》6.6.1节「Undo Log是否一定需要」Force/Steal四种策略(源文件:_epub-src/text/part0032.html) - 结论依据:原文明确对比四种刷盘策略:Force+No Steal不需要日志但性能差;No Force+No Steal只需Redo Log;Force+Steal只需Undo Log;No Force+Steal(InnoDB采用)最灵活但须同时具备Redo Log和Undo Log,直接支持卡片论述。 - 原始内容:"策略1:Force和No Steal……这种策略不需要Redo Log和Undo Log……但很显然不可行……策略2:No Force和No Steal……只需要Redo Log即可……策略3:Force/Steal……只需要Undo Log……策略4:No Force/Steal……是我们最想要的,也是InnoDB实现的策略。"