Sql server SQLServer2005缓存
据我所知,SQLServer2005执行某种结果或索引缓存。我目前正在分析复杂的select语句,这些语句需要几秒钟到几分钟才能完成。我的问题是,即使我不更改查询,第二次运行查询也不会超过一秒钟。我目前正在使用SQLServerManagementStudio Express对SQLServer2005服务器执行查询Sql server SQLServer2005缓存,sql-server,sql-server-2005,caching,sql-server-express,ssms,Sql Server,Sql Server 2005,Caching,Sql Server Express,Ssms,据我所知,SQLServer2005执行某种结果或索引缓存。我目前正在分析复杂的select语句,这些语句需要几秒钟到几分钟才能完成。我的问题是,即使我不更改查询,第二次运行查询也不会超过一秒钟。我目前正在使用SQLServerManagementStudio Express对SQLServer2005服务器执行查询 我的问题是,有没有办法避免或清除导致我的查询在第二次运行时执行得如此之快的缓存 我发现性能调整的唯一可行指标来自SQL Server的探查器应用程序。当查看CPU时间,尤其是读取时
我的问题是,有没有办法避免或清除导致我的查询在第二次运行时执行得如此之快的缓存 我发现性能调整的唯一可行指标来自SQL Server的探查器应用程序。当查看CPU时间,尤其是读取时间时,您将更加远离“其他影响”
例如,操作系统正忙,或多个用户处于活动状态将减少您的CPU份额,从而增加执行时间。在多个CPU上,您可能获得并行性,也可能得不到并行性。但无论哪种方式,总CPU时间(相对于执行时间)都将保持大致相同。我发现性能调整的唯一可行指标来自SQL Server的探查器应用程序。当查看CPU时间,尤其是读取时间时,您将更加远离“其他影响”
例如,操作系统正忙,或多个用户处于活动状态将减少您的CPU份额,从而增加执行时间。在多个CPU上,您可能获得并行性,也可能得不到并行性。但无论哪种方式,总CPU时间(相对于执行时间)都将保持大致相同。这里可能会有两种不同的情况,最初想到的3种情况(可能按顺序排列)如下-如果您需要一些解释结果的帮助,按照以下说明粘贴问题中的统计输出:
- 要验证这一点,请启用,这将为您提供有关引擎生成查询计划所需时间的信息。对于有问题的查询/批次:
- 执行批处理,捕获统计输出
- 再次执行批处理,捕获统计输出
- 比较两个stat输出,特别注意两个执行之间的解析/编译时差异
- 要验证这一点,请启用,这将为您提供有关IOs类型的信息以及引擎为批处理执行的IOs的数量。对于有问题的查询/批次:
- 执行批处理,捕获统计输出
- 再次执行批处理,捕获统计输出
- 比较两个stat输出,特别注意两次执行之间的物理/预读和逻辑IO输出
这里可能有两种不同的情况,最初出现在脑海中的3种情况(按可能的顺序)如下-如果您想要一些解释结果的帮助,请按照下面的说明并将统计输出粘贴到问题中:
- 要验证这一点,请启用,这将为您提供有关引擎生成查询计划所需时间的信息。对于有问题的查询/批次:
- 执行批处理,捕获统计输出
- 再次执行批处理,捕获统计输出
- 比较两个stat输出,特别注意两个执行之间的解析/编译时差异
- 要验证这一点,请启用,这将为您提供
CHECKPOINT DBCC DROPCLEANBUFFERS