我指的是PostgreSQL网站上的2个文档页面:#1和#2。从这些数据中,我们看到事务日志每秒刷新到磁盘5次(wal_writer_delay = 200ms),并且我们还看到RDBMS在将事务提交到日志文件之前不会将事务报告为成功,因为sync_commit = on by默认。
如果每个操作都是在自己的事务中完成的,那么理论上每秒可以成功报告5次报告写峰值(通常是这种情况)。原因是日志的写入速度不比磁盘快。
但是我们看到的速度是每秒数千。
这是如何运作的?
明确地说,我正在谈论每次写入都在其自己的事务中(默认用法)。我知道为什么批量插入不适用于此问题。