如何清除firebird查询缓存?

时间:2012-08-23 19:12:44

标签: database firebird database-administration

如何清除firebird查询缓存以执行我的性能测试?

SqlServer中的示例here

韩国社交协会

3 个答案:

答案 0 :(得分:3)

Andrei是正确的 - Firebird严重依赖于操作系统文件系统缓存。 Firebird将在内部缓存少量页面(检查数据库上的buffers属性),但它通常只是非常少量的数据。经典默认为75页?我已经在其他地方看到了大约1000页的建议,根据页面大小,它可以达到8或16 MB。

代替重新启动操作系统以清除文件系统缓存,您可以将数据库放在自己的挂载上。然后要完全清除缓存,您可以停止Firebird,卸载/挂载分区并再次启动Firebird。这会使文件系统缓存失效。

这不应该太痛苦 - 与其他数据库不同,Firebird不必在启动和重放事务日志中的事务时扫描数据文件。通过仔细的写入,翻译日志基本上与数据文件结合在一起。

答案 1 :(得分:1)

除经常访问的数据页面的内存缓冲区外,Firebird还依赖于操作系统文件缓存。重启服务器进程可以清空内存缓冲区但是为了清除文件缓存,我担心你需要重启操作系统。

答案 2 :(得分:0)

我认为重新启动Firebird服务是最简单的(仅限?)方式。