如何确定哪些特定查询导致高页面读取/秒或页面写入/秒

时间:2015-03-30 03:10:45

标签: sql sql-server sql-server-2008 tsql

如何确定SQL Server中的特定查询/对象导致高页面读取/秒或高页面写入/秒?

我可以使用任何特定的dmv来帮助解决这个问题吗?

请帮忙!非常感谢!

2 个答案:

答案 0 :(得分:0)

您可以使用sys.dm_exec_query_stats DMV

例如,此查询为您提供了前5个最昂贵的查询

SELECT TOP 5 (total_logical_reads/execution_count) AS avg_logical_reads 
             ,(total_logical_writes/execution_count) AS avg_logical_writes 
             ,(total_physical_reads/execution_count) AS avg_phys_reads 
             ,execution_count 
             ,statement_start_offset AS stmt_start_offset 
             ,(SELECT SUBSTRING(text, statement_start_offset/2 + 1, 
                (CASE   WHEN statement_end_offset = -1 THEN LEN(CONVERT(nvarchar(MAX),text)) * 2 
                    ELSE statement_end_offset 
                 END - statement_start_offset) / 2) 
               FROM sys.dm_exec_sql_text(sql_handle)) AS query_text 
,plan_handle 
FROM sys.dm_exec_query_stats 
ORDER BY (total_logical_reads + total_logical_writes) DESC

有关here

的更多信息

答案 1 :(得分:0)