答案 0 :(得分:3)
Andrei是正确的 - Firebird严重依赖于操作系统文件系统缓存。 Firebird将在内部缓存少量页面(检查数据库上的buffers属性),但它通常只是非常少量的数据。经典默认为75页?我已经在其他地方看到了大约1000页的建议,根据页面大小,它可以达到8或16 MB。
代替重新启动操作系统以清除文件系统缓存,您可以将数据库放在自己的挂载上。然后要完全清除缓存,您可以停止Firebird,卸载/挂载分区并再次启动Firebird。这会使文件系统缓存失效。
这不应该太痛苦 - 与其他数据库不同,Firebird不必在启动和重放事务日志中的事务时扫描数据文件。通过仔细的写入,翻译日志基本上与数据文件结合在一起。
答案 1 :(得分:1)
除经常访问的数据页面的内存缓冲区外,Firebird还依赖于操作系统文件缓存。重启服务器进程可以清空内存缓冲区但是为了清除文件缓存,我担心你需要重启操作系统。
答案 2 :(得分:0)
我认为重新启动Firebird服务是最简单的(仅限?)方式。