我有应用程序,使得具有不同的结果不同的查询,以便在我的情况下高速缓存是有害的。

这意味着存在这样SQL可能从它benifit来从存储器中的结果,而不是直接使硬盘访问没有公共数据。

有帮助吗?

解决方案

从您的评论听起来好像你不希望SQL能够以更快的内存使用,你觉得,当你运行任何查询是有效的随机它是毫无意义的。

首先,这个存储器可能被用来存储索引和查询计划,而不是你想要返回的实际数据,因此你可能会发现这个缓存是多了很多有用的比你想象的。

其次,它是极不可能的,使用的存储器该量SQL将导致真正的随机看不见查询的任何性能降低。如果SQL Server需要去磁盘获取的信息,他的内存量的使用是几乎没有相关性。

但是,它是能够减少的SQL Server使用的内存量。 (我不知道在哪里的选项是处于SQL 2008,但我认为它非常相似)在Management Studio中,右键单击该服务器上做属性。在那里,你将有内存的页面。在这里你可以选择的最小和SQL将使用最大值。这将有效地限制任何缓存SQL并根据自己的价值观,而不是物理服务器的限制。

我真的不认为你会看到任何性能提升虽然。根据我的经验SQL总是最好留给做自己的事情。

其他提示

您的问题是错误的:高速缓存装置的数据是在存储器中,并且避免了磁盘访问

在任何情况下,SQL Server的缓存是无害的。对于学究,总有例外,但你必须认真搞砸了代码和配置它之前。

关闭(或试图关闭)的SQL Server缓存思考的问题完全走错了路。如果数据在数据层高速缓存层,你应该有刷新。 SQL Server将永远成为了过时的数据。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top