我需要在1-2秒内运行几个查询.我一直在努力优化它们,但是第一次调用它们需要大约20秒,在所有后续调用中大约需要1秒.这使我无法判断我所做的任何更改是否会加快查询速度,因为它总是在〜1秒后运行.我对SQL并不十分熟悉,但从我能够学到的东西来看,似乎有些东西就是缓存.我正在试图弄清楚如何防止这种情况,但似乎没有任何效果.从我在Google上发现的,人们一直在暗示
DBCC FREEPROCCACHE
Run Code Online (Sandbox Code Playgroud)
要么
OPTION(recompile)
Run Code Online (Sandbox Code Playgroud)
这些似乎都不起作用.当第一次使用~20时,每个查询仍在~1秒内运行.我只想确保我所做的更改正在带来改进,而不是改进来自缓存.还有其他一些技巧吗?
后续运行速度更快的原因是因为执行计划被缓存了。您对代码的更改要么不足以导致需要重新编译,要么它们实际上正在工作。尝试在客户端统计打开的情况下测试每次运行。Management Studio 中“执行”图标顶部旁边有一个按钮,您可以打开/关闭该按钮。
编辑:打开客户端统计信息的更清晰说明:在顶部菜单中,单击“查询”>“包括客户端统计信息”。
| 归档时间: |
|
| 查看次数: |
238 次 |
| 最近记录: |