異なるクエリを異なる結果で作成するアプリケーションがあるため、私の場合のキャッシュは有害です。
これは、ハードディスクにアクセスする代わりに、メモリから直接結果を取得するためにSQLが恩恵を受ける可能性のある共通データがないことを意味します。
異なるクエリを異なる結果で作成するアプリケーションがあるため、私の場合のキャッシュは有害です。
これは、ハードディスクにアクセスする代わりに、メモリから直接結果を取得するためにSQLが恩恵を受ける可能性のある共通データがないことを意味します。
あなたのコメントから、実行するクエリは事実上ランダムであるため、SQL に多くのメモリを使用させたくないように思えます。
まず、このメモリは、返される実際のデータではなく、おそらくインデックスとクエリ プランを格納するために使用されているため、このキャッシュが思ったよりもはるかに便利であることがわかるでしょう。
第 2 に、この量のメモリを使用する sql が、目に見えない真にランダムなクエリのパフォーマンスを低下させる可能性はほとんどありません。SQL Server が情報を取得するためにディスクにアクセスする必要がある場合、使用するメモリの量はほとんど関係ありません。
ただし、SQL Server が使用するメモリの量を減らすことができます。(オプションが SQL 2008 のどこにあるかはわかりませんが、かなり似ていると思います) Management Studio で、サーバーを右クリックして [プロパティ] を実行します。その下にメモリのページがあります。ここで、SQL が使用する最小値と最大値を選択できます。これにより、物理サーバーの制限ではなく、値に基づいてキャッシュ SQL が効果的に制限されます。
ただし、パフォーマンスの向上は見られないと思います。私の経験では、SQL は常に独自の処理を行うようにしておくのが最善です。
あなたの質問は間違っています。キャッシュとは、データがメモリ内にあり、ディスク アクセスを回避することを意味します。
いずれにせよ、SQL Server のキャッシュは有害ではありません。衒学者の場合、常に例外がありますが、そうなる前にコードと構成を大幅に台無しにする必要があります。
SQL Server のキャッシュをオフにする (またはオフにしようとする) ことは、問題を完全に間違った方法で考えていることになります。データがデータ層層にキャッシュされている場合は、そこで更新する必要があります。SQL Server が古いデータを提供することはありません。