事务日志

事务日志有助于提高事务的效率:

  1. 存储引擎只需要更改内存中的数据副本,而不用每次修改磁盘中的表,这会非常快。

  2. 然后再把更改的记录写入事务日志中,事务日志会被持久化保存在硬盘上。因为事务日志采用的是追加写操作,是在硬盘中一小块区域内的顺序 I/O,而不是需要写多个地方的随机 I/O,所以写入事务日志是一种相对较快的操作。

  3. 最后会有一个后台进程在某个时间去更新硬盘中的表。

大多数使用这种技术(write-ahead logging,预写式日志)的存储引擎修改数据最终需要写入磁盘两次。

如果修改操作已经写入事务日志,那么即使系统在数据本身写入硬盘之前发生崩溃,存储引擎仍可在重新启动时恢复更改。

最后更新于