数据库日志文件登记原则(续)

为什么要先写日志文件再写数据库?

写日志文件和写数据库是两个独立的操作,在这两个操作之间可能发生故障。如果先写入数据库修改,但未在日志文件中记录,那么之后将无法恢复此修改。反之,如果先写入日志,但未修改数据库,那么根据日志文件恢复时只会执行一次额外的UNDO操作,不会影响数据库的正确性。