2012-08-23 95 views
4

如何清除firebird查詢緩存來執行我的性能測試?如何清除firebird查詢緩存?

的例子SQLServer中here

韓國社交協會

+0

我不認爲Firebird有一個「查詢緩存」它只是緩存單個數據塊。但從來不是查詢的結果。 –

+0

可以,但我仍然必須清理它。 –

回答

3

Andrei是正確的 - Firebird嚴重依賴OS文件系統緩存。 Firebird將在內部緩存少量頁面(檢查數據庫中的緩衝區屬性),但它通常只有非常少量的數據。經典默認爲75頁?我看到其他地方約有1000頁的建議,根據頁面大小而定,可以提供8或16 MB的建議。

代替重新啓動操作系統來清除文件系統緩存,您可以將數據庫置於其自身的安裝位置。然後爲了徹底清除緩存,你可以停止Firebird,卸載/掛載分區並再次啓動Firebird。這會使文件系統緩存無效。

這應該不會太痛苦 - 與其他數據庫不同,Firebird不必在事務日誌中的開始和重放事務上掃描數據文件。翻譯日誌本質上是通過仔細寫入與數據文件結合在一起的。

0

我想重新啓動火鳥服務是最簡單的(只?)的方式。

+0

我注意到,即使重新啓動服務,它也能正常工作。 –

1

除了經常訪問的數據頁面的內存緩衝區Firebird依賴於OS文件緩存。重新啓動服務器進程可以清空內存緩衝區但清除文件緩存,恐怕需要重新啓動操作系統。

+0

你說的話對我看到的是有意義的。 –