昨天的案例讲了因为PG的DOUBLEBUFFERING导致的SQL执行忽快忽慢的问题,有些朋友在问是不是Oracle之外的很多数据库都是用类似的方式读取文件,这种DoubleBuffering技术是不是很落后,是不是必须加以改进。实际上,只要是使用文件系统,并且在读数据时没有采用DIO的数据库都会存在DOUBLEBUFFERING的问题,早期的Oracle也存在类似问题。上图比较清晰的说明了DOUBLEBUFFERING问题,对于写的情况,因为先写入CACHE,再由OS把CACHE写入磁盘,中间会有一些性能损失,不过对于现代的数据库来说,只有REDO/WAL是需要强一致性写入的,数据文件的写