1

重做日志用于数据库崩溃后重做提交的事务。但是,提交事务的更新会在提交时写入磁盘。为什么 DBMS 使用重做日志?当事务提交时,DBMS 实际上做了什么?谢谢!

4

1 回答 1

0

不完全是; 仅当这三个条件都不适用时,才对可重做动作执行重做:(直接引自 Ramakrishnan 和 Gehrke)

受影响的页面不在脏页表中。

受影响的页面在脏页表中,但该条目的 recLSN 大于正在检查的日志记录的 LSN。

pageLSN(存储在页面上,必须检索才能检查此条件)大于或等于正在检查的日志记录的 LSN。

如果这些都不正确,则基本上意味着该操作已成功提交。

于 2013-12-26T05:15:02.017 回答