SQL 2008のキャッシュを無効にしますか?
-
05-09-2019 - |
質問
私は、私の場合はキャッシュが有害であるので、異なる結果と異なるクエリを行うアプリケーションを持っています。
これは、メモリから結果をフェッチする代わりに、直接のハード・ディスク・アクセスを行うためにそれからbenifitできるSQL共通データがないことを意味します。
解決
あなたのコメントから、それはあなたが実行するすべてのクエリが効果的にランダムであるとして、それは無意味だと感じてあなたはSQLは多くのメモリで使用しないように聞こえるます。
まず、このメモリはおそらくかなり返して欲しい実際のデータより、インデックスとクエリ・プランを保存するために使用されている、したがって、あなたはおそらく、このキャッシュは、あなたが思うよりも多く便利ですあります。
第二に、それはメモリのこの量を使用してSQLが真にランダム見えないクエリ上の任意の性能低下の原因となることはほとんどありません。 SQL Serverはすべての情報を取得するために、ディスクに移動する必要がある場合、その使用したメモリの量はほとんど関係があります。
しかし、SQL Serverが使用するメモリの量を低減することが可能です。右Server上でクリックし、[プロパティ]を行い、Management Studioで(オプションは、SQL 2008である場合、私は知らないが、私はそのかなり似を仮定します)。そこの下には、メモリー用のページを持つことになります。ここでは、最小値とSQLが使用する最大値を選択することができます。これは効果的ではなく、物理サーバの制限よりも、自分の価値観に基づいてんの任意のキャッシュSQLが制限されます。
私は本当にあなたががどんなパフォーマンスの向上が表示されますとは思いません。私の経験ではSQLは、常に最高のそれ自身のことをやって残されています。
他のヒント
あなたの質問は間違っている:キャッシュは、データがメモリにあり、ディスクアクセスを避ける意味
。いずれにせよ、SQL Serverのキャッシングは有害ではありません。 pedantsのために、そこには常に例外はあるが、あなたはそれがあった前に真剣コードと構成をめちゃくちゃにしている必要があるだろう。
オフ(またはオフにしようとする)SQL Serverのキャッシュは完全に問題が間違った方法を考えています。データは、データ層の階層にキャッシュされている場合、あなたはそこにそれを更新する必要があります。 SQL Serverは、古いデータを果たすことはありません。