SQL Server--提取性能最差的查询
-- 从 SQL Server 的动态管理视图(DMV)中提取性能最差的查询(按最大执行时间排序),用于性能分析和调优
SELECT DISTINCT TOP 10t.TEXT QueryName,s.execution_count AS ExecutionCount,s.max_elapsed_time AS MaxElapsedTime,ISNULL(s.total_elapsed_time / 1000 / NULLIF(s.execution_count, 0), 0) AS AvgElapsedTime,s.creation_time AS LogCreatedOn,ISNULL(s.execution_count / 1000 / NULLIF(DATEDIFF(s, s.creation_time, GETDATE()), 0), 0) AS FrequencyPerSec
FROM sys.dm_exec_query_stats sCROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) t
ORDER BY s.max_elapsed_time DESC, ExecutionCount DESC
这个 SQL 查询是从 SQL Server 的动态管理视图(DMV)中提取性能最差的查询(按最大执行时间排序),用于性能分析和调优。我们来逐段分析其逻辑、作用和输出结果的含义。
🔍 查询功能总览
SELECT DISTINCT TOP 10t.TEXT QueryName,