パフォーマンス テストを実行するために、firebird クエリ キャッシュをクリアするにはどうすればよいですか?
ここのSqlServerの例
Tks
Andrei は正しいです -- Firebird は OS ファイル システムのキャッシュに大きく依存しています。Firebird は少量のページを内部的にキャッシュしますが (データベースの buffers プロパティを確認してください)、通常は非常に少量のデータです。クラシックのデフォルトは 75 ページのようなものですか? 他の場所で約 1000 ページの提案を見たことがありますが、ページ サイズによっては 8 MB または 16 MB になります。
OS を再起動してファイル システム キャッシュをクリアする代わりに、データベースを独自のマウントに配置できます。次に、キャッシュを完全にクリアするには、Firebird を停止し、パーティションをアンマウント/マウントして、Firebird を再起動します。これにより、ファイル システム キャッシュが無効になります。
これはそれほど苦痛ではありません。他のデータベースとは異なり、Firebird は開始時にデータ ファイルをスキャンし、トランザクション ログでトランザクションを再生する必要はありません。変換ログは、慎重な書き込みを使用して、基本的にデータ ファイルと結合されます。
頻繁にアクセスされるデータ ページのメモリ バッファに加えて、Firebird は OS ファイル キャッシュに依存しています。サーバー プロセスを再起動すると、メモリ バッファーを空にすることができますが、ファイル キャッシュをクリアするには、OS を再起動する必要があります。
Firebird サービスを再起動するのが最も簡単な (唯一の?) 方法だと思います。