所以我在比较两个存储过程的性能
当我查看STATISTICS TIME
查询1运行大约2/3的时间作为查询2.当我查看执行计划时,我连续运行两个查询。查询1占批次的43%(39 + 4),查询2占批次的57%
但是,当我查看SSMS中的对象执行统计报告时,它显示查询1比查询2花费更长时间。深入了解详细信息,它显示查询1的执行次数加倍。
我的问题是为什么报告加倍执行?
答案 0 :(得分:1)
Kendra Little在这篇文章中介绍了统计时间:https://www.brentozar.com/archive/2012/06/tsql-measure-performance-improvements/
基本上,我猜你的查询是并行的,它会显示你的进程中使用的所有核心的统计时间。以下是该博客文章的引用:
当您查看为查询执行的CPU时间时,您确实是这样 查看所涉及的所有CPU使用的金额。这意味着如果 你正在查看并行查询,总CPU时间可能会更长 而不是查询的总耗用时间。
这不是一个问题 - 它实际上是一件好事 比较表现!