4

在查看 SQL Server 中的 Activity Monitor 时,我注意到在“Recent Expensive Queries”选项卡下,“Executions / min”列似乎膨胀到比应有的高得多的数字。这个数字实际上意味着什么?从字面上看,SQL 查询在一分钟内执行了多少次,还是这个数字代表其他东西?在此先感谢您的帮助!

4

1 回答 1

2

您正在分析的“昂贵查询”可能正在使用其他子查询(比如说 10)。那么你的“执行次数/分钟”计数可能高出 10 倍吗?由于为每个子查询重新编译执行计划?

在这里找到了这个答案:

Execution/Min 表示查询每分钟的执行次数,sys.dm_exec_query_stats 中的 execution_count 列表示自上次编译计划以来执行的次数。execution_count 的值不等于 Execution/Min 是正常的,因为如果您的查询的执行计划在执行过程中重新编译或重新生成,那么 execution_count 将被重置为 0 并重新计数。例如,如果这个insert语句包含在一个事务块中,那么执行计划的重新编译可能是由另一个语句的执行计划重新编译引起的,因此execution_count将被重置为0并重新计数。

请参阅以下链接以获取更多详细信息:

sys.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

谢谢, 乔伟林

于 2012-11-30T18:41:54.143 回答