Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

कैसे पता लगाएं कि कौन सी संग्रहित प्रक्रियाएं किस इंडेक्स का उपयोग कर रही हैं?

आपके पास 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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MDF फ़ाइल खोलने में समस्या क्योंकि यह SQL त्रुटि 5171 कहती है? - आंद्रे विलियम्स द्वारा एक अतिथि पोस्ट

  2. दिनांक और नल के अनुसार SQL सर्वर ऑर्डर अंतिम

  3. किसी श्रेणी के बीच दिए गए चरणों में संख्याएँ लाने के लिए SQL क्वेरी

  4. एसक्यूएल सर्वर 2012 में कैरिज रिटर्न

  5. एक ही टेबल रिलेशन में सभी माता-पिता या बच्चों का चयन करें SQL सर्वर