Question

Je application qui fait des requêtes différentes avec des résultats différents de sorte que la mise en cache dans mon cas est nocif.

Cela signifie qu'il n'y a pas de données commun SQL peut benifit de lui pour aller chercher le résultat de la mémoire directement au lieu de rendre l'accès au disque dur.

Était-ce utile?

La solution

De vos commentaires il semble que vous ne voulez pas utiliser SQL à la quantité de mémoire que vous vous sentez qu'il est inutile que toutes les requêtes que vous exécutez sont effectivement aléatoires.

Tout d'abord, cette mémoire est probablement utilisé pour les indices des magasins et des plans de requête, plutôt que les données réelles que vous souhaitez renvoyer, par conséquent, vous trouverez probablement ce cache est beaucoup plus utile que vous pensez.

En second lieu, il est très peu probable que sql en utilisant cette quantité de mémoire entraînera une baisse des performances sur une requête invisible vraiment aléatoire. Si SQL Server doit aller sur le disque pour obtenir des informations alors la quantité de mémoire son est à peine à l'aide pertinente.

Cependant, il est possible de réduire la quantité de mémoire qui utilise SQL Server. (Je ne sais pas où l'option est dans SQL 2008, mais je suppose que son assez similaire) Dans Management Studio, faites un clic droit sur le serveur et faire Propriétés. Sous là, vous aurez une page pour mémoire. Ici vous pouvez sélectionner le minimum et les valeurs maximales que SQL utilisera. Cela permettra de limiter efficacement toute sql mise en cache ne basée sur vos valeurs, plutôt que les limites des serveurs physiques.

Je ne pense pas que vous verrez des gains de performance bien. Dans mon expérience SQL est toujours préférable de faire a laissé sa propre chose.

Autres conseils

Votre question est erronée. Mise en cache signifie que les données en mémoire, et évite l'accès disque

En tout état de cause, la mise en cache SQL Server n'est pas nocif. Pour les pédants, il y a toujours des exceptions, mais vous devriez avoir sérieusement foiré code et la configuration avant qu'il ne soit.

Mise hors tension (ou tenter de désactiver) la mise en cache SQL Server pense au problème tout à fait de la mauvaise façon. Si les données sont mises en cache dans votre niveau de la couche de données, vous devez actualiser là. SQL Server ne sera jamais servir des données périmées.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top