为什么wal会 提升数据库性能

由于对于一个数据库内会存在很多张表,那么当数据库更新表数据时

(1)直接写入磁盘

实际写入的位置,会根据表的不同对应到不同的磁盘位置,在写入数据的时候,就会不停的寻找磁盘地址,找到地址后再去写入,对于机械硬盘来说,无规律的寻址是非常耗时的,对应SSD来说虽然性能提升很多,但是也会消耗时间;

(2)先写入日志,在写入磁盘(WAL)

 WAL 的过程,由于总是按照在文件末尾追加,只要找到文件写入位置,写入修改后,就可以返回。后续等到时机,再刷入磁盘。

结论

随机读写比较顺序读写。顺序读写明显减少了“翻页”操作,因此从原理上,性能远高于随机读写。

你可能感兴趣的:(数据库)