我的应用程序会发出不同的查询并产生不同的结果,因此在我的情况下缓存是有害的。
这意味着没有通用数据可供sql直接从内存中获取结果而不是访问硬盘。
最佳答案
从您的评论来看,您似乎不希望 SQL 使用太多内存,因为您认为这毫无意义,因为您运行的任何查询实际上都是随机的。
首先,此内存可能用于存储索引和查询计划,而不是您想要返回的实际数据,因此您可能会发现此缓存比您想象的有用得多。
其次,使用如此内存量的 SQL 不太可能导致真正随机的未见查询的性能下降。如果 SQL Server 需要访问磁盘来获取任何信息,那么它使用的内存量几乎不相关。
但是,可以减少 SQL Server 使用的内存量。 (我不知道该选项在 SQL 2008 中的位置,但我认为它非常相似)在 Management Studio 中,右键单击“服务器”并执行“属性”。在那里你将有一个内存页面。在这里您可以选择 SQL 将使用的最小值和最大值。这将根据您的值(而不是物理服务器限制)有效地限制任何缓存 sql。
不过,我真的认为您不会看到任何性能提升。根据我的经验,SQL 最好总是让它自己做事。
关于sql-server - 禁用 Sql 2008 缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/903309/