आपके पास sys.dm_exec_query_stats में सभी कथनों के निष्पादन की संख्या है। , और आप sys.dm_exec_query_plan का उपयोग करके XML प्लान एक्सट्रेक्ट कर सकते हैं। . योजना में उपयोग किए गए स्कैन ऑपरेटरों जैसे विवरण शामिल हैं, इसलिए इन दोनों के बीच आप जो भी पूछते हैं उससे बहुत सारी जानकारी बना सकते हैं। उदाहरण के लिए निम्न क्वेरी आपको इंडेक्सस्कैन ऑपरेटरों को कैश्ड योजनाओं से बार-बार चलने वाले बयानों में दिखाएगी जो कई तार्किक रीड कर रहे हैं:
with xmlnamespaces ('http://schemas.microsoft.com/sqlserver/2004/07/showplan' as sp)
select top(100)
q.total_logical_reads, q.execution_count
, x.value(N'@Database', N'sysname') as [Database]
, x.value(N'@Schema', N'sysname') as [Schema]
, x.value(N'@Table', N'sysname') as [Table]
, x.value(N'@Index', N'sysname') as [Index]
, substring(t.text, q.statement_start_offset/2,
case when 0 < q.statement_end_offset then (q.statement_end_offset - q.statement_start_offset)/2
else len(t.text) - q.statement_start_offset/2 end) as [Statement]
from sys.dm_exec_query_stats q
cross apply sys.dm_exec_query_plan(plan_handle)
cross apply sys.dm_exec_sql_text(sql_handle) as t
cross apply query_plan.nodes(N'//sp:IndexScan/sp:Object') s(x)
where execution_count > 100
order by total_logical_reads desc;