|
|
1
2
从您的评论中,听起来您不希望SQL在太多的内存中使用,因为您认为它是无意义的,因为您运行的任何查询实际上都是随机的。 首先,这个内存可能被用来存储索引和查询计划,而不是您想要返回的实际数据,因此您可能会发现这个缓存比您想象的要有用得多。 其次,使用这种内存量的SQL不太可能导致真正随机的未公开查询性能下降。如果SQL Server需要转到磁盘以获取任何信息,那么它使用的内存量几乎不相关。 但是,可以减少SQL Server使用的内存量。(我不知道该选项在SQL 2008中的位置,但我认为它相当类似)在ManagementStudio中,右键单击服务器并执行属性。在那里你会有一页记忆。在这里,您可以选择SQL将使用的最小值和最大值。这将有效地限制SQL根据您的值所做的任何缓存,而不是物理服务器的限制。 我真的不认为你会看到任何性能的提高。根据我的经验,最好还是让SQL做自己的事情。 |
|
|
2
1
您的问题是错误的:缓存意味着数据在内存中,并且避免了磁盘访问。 在任何情况下,SQL Server缓存都是无害的。对于学究来说,总是有例外的,但是你必须在代码和配置出现之前就把它搞砸了。 |
|
3
0
关闭(或试图关闭)SQL Server缓存正在完全错误地考虑该问题。如果数据缓存在数据层层中,您应该在那里刷新它。SQL Server永远不会提供过时的数据。 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
Marc Guillot · 记录值时忽略冲突 1 年前 |
|
|
Fachry Dzaky · 正确使用ROW_NUMBER 1 年前 |
|
|
TriumphTruth · 从满足特定条件的数据集中选择1行 1 年前 |