1

dm_exec_procedure_stats を使用する以下のクエリの [Total Duration (s)] 列が、クエリが結果を返すのにかかる平均時間を示しているかどうかを確認できますか? これは、これらのクエリが結果を返すのにかかる時間の 1 つの要素にすぎないことを懸念しています。

時間を割いて見てくださった皆様、ありがとうございました。

どんな助けやアドバイスもいただければ幸いです

SELECT SUBSTRING(qt.TEXT, CHARINDEX('USP_', qt.TEXT, 1), CHARINDEX(']', qt.TEXT, CHARINDEX('USP_', qt.TEXT, 1)) - CHARINDEX('USP_', qt.TEXT, 1)) AS Procedure_Name,
       qt.TEXT,
       CAST(total_elapsed_time / 1000000.0 AS DECIMAL(28, 2))                                                                                    AS [Total Duration (s)],
       CASE
         WHEN execution_count = 0 THEN 0
         ELSE CAST(total_worker_time * 100.0 / total_elapsed_time AS DECIMAL(28, 2))
       END                                                                                                                                       AS [% CPU],
       CASE
         WHEN execution_count = 0 THEN 0
         ELSE CAST(( total_elapsed_time - total_worker_time ) * 100.0 / total_elapsed_time AS DECIMAL(28, 2))
       END                                                                                                                                       AS [% Waiting],
       execution_count,
       CASE
         WHEN execution_count = 0 THEN 0
         ELSE CAST(total_elapsed_time / 1000000.0 / execution_count AS DECIMAL(28, 2))
       END                                                                                                                                       AS [Average Duration (s)],
       sql_handle,
       plan_handle,
       object_id,
       total_elapsed_time,
       total_worker_time,
       execution_count,
       total_physical_reads,
       total_logical_reads,
       total_logical_writes
FROM   sys.dm_exec_procedure_stats qs
       CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
WHERE  qt.text LIKE '%USP%'

ORDER  BY 1 
4

1 に答える 1

1

平均時間を取得するには、除算する必要がありますTOTAL/COUNT次に、1000000.0 で除算して秒を取得します。

コードは次のとおりです。

,CONVERT(DECIMAL(26,10),(qs.total_elapsed_time / qs.execution_count)) / 1000000.0 AS [avg_elapsed_time_inSec]

于 2014-02-14T14:54:44.080 に答える