2009-05-24 5 views
4

私は異なる結果を持つ異なるクエリを作成するので、私の場合のキャッシュは有害です。Sql 2008キャッシングを無効にしますか?

これは、sqlがハード・ディスクにアクセスするのではなく、メモリから直接結果をフェッチするという一般的なデータがないことを意味します。

答えて

2

あなたのコメントから、実行するクエリが効果的にランダムであるため、無意味だと思うようにSQLに多くのメモリを使用しないように思えます。

最初に、このメモリは、返される実際のデータではなく、インデックスとクエリプランを格納するために使用されている可能性が高いため、このキャッシュは思ったよりもはるかに便利です。

第2に、この量のメモリーを使用するsqlが、見えない実際の照会でパフォーマンスを低下させる可能性はほとんどありません。情報を取得するためにSQL Serverをディスクに移動する必要がある場合、使用するメモリの量はほとんど関係ありません。

ただし、SQL Serverが使用するメモリ量を削減することは可能です。 (私はオプションがSQL 2008でどこにあるのかはわかりませんが、私はかなり似ていると思います)。Management Studioでは、サーバーを右クリックしてプロパティを実行します。その下には、メモリのページがあります。ここでは、SQLが使用する最小値と最大値を選択できます。これにより、物理サーバの制限ではなく、値に基づいてSQLが行うすべてのキャッシュを効果的に制限します。

パフォーマンスの向上は見られません。私の経験では、SQLは常にそれが自分自身のことを行うことを残して最高です。

+0

さて、SQL Serverの最大メモリを制限すると、指定された最大値よりも多く必要な場合はどうなりますか?それはクラッシュするでしょうか? –

+0

いいえ、それは限界で動くクラッシュはありません – u07ch

1

あなたの質問は間違っています:キャッシュとは、データがメモリ上にあることを意味し、ディスクアクセスを回避します。

いずれにしても、SQL Serverのキャッシュは有害ではありません。ペダンツには、常に例外がありますが、それ以前にコードと設定を真剣に失敗させなければなりませんでした。

+0

sqlが大量のメモリを消費し、 私はこの膨大なメモリ消費量から恩恵を受けることはできません。アプリケーションのロジックはデータベースからランダムなデータを取得することです。このキャッシュはまったく必要ありません。 –

+0

管理スタジオを使用してSQLのメモリ使用を制限していますが、私はまだあなたがなぜそう思っているのですか?どのくらいのランダムなデータがありますか?管理スタジオのサーバープロパティオプションでこれを行うことができます。最大メモリを最小限に抑えてSQL Serverを再起動してください。メモリを少なくするほど、ディスクをスラッシュします。 – u07ch

+0

@ahmed:SQL Serverはメモリを使用しています。それが必要でない限り、通常はメモリを使用しません。 – gbn

0

SQL Serverのキャッシュをオフにする(またはオフにする)ことは、問題が完全に間違った方法であると考えていることです。データがデータレイヤー層にキャッシュされている場合は、そのデータレイヤーでリフレッシュする必要があります。 SQL Serverは失効したデータを提供しません。

関連する問題