在查看SQL Server中的活动监视器时,我注意到在“最近的昂贵查询”选项卡下,“执行/分钟”列似乎会膨胀到比它应该更高的数字。 这个数字究竟意味着什么?它确实是一分钟内执行SQL查询的次数,还是这个数字代表了其他什么? 在此先感谢您的帮助!
答案 0 :(得分:2)
您正在分析的“昂贵查询”可能正在使用其他子查询(假设为10)。那么你的“执行/分钟”计数会高出10倍吗?由于为每个子查询重新编译执行计划?
找到了这个答案here:
执行/最小值表示查询的每分钟执行次数,sys.dm_exec_query_stats中的execution_count列表示自上次编译以来计划执行的次数。 execute_count的值不等于Execution / Min是正常的,因为如果在执行期间重新编译或重新生成查询的执行计划,则execution_count将重置为0并重新计数。例如,如果此insert语句包含在事务块中,则执行计划的重新编译可能是由另一个语句的执行计划重新编译引起的,因此execution_count将重置为0并重新计数。
有关更多详细信息,请参阅以下链接:
谢谢,Weilin Qiaosys.dm_exec_query_stats:http://msdn.microsoft.com/en-us/library/ms189741.aspx 活动监控:http://msdn.microsoft.com/en-us/library/cc879320(v=SQL.100).aspx