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

डेटाबेस क्वेरी केवल एप्लिकेशन में धीमी क्यों होती है?

मुझे पैरामीटर सूँघने पर संदेह होगा।

आपके एप्लिकेशन के कनेक्शन के लिए उपयोग की गई कैश्ड निष्पादन योजना संभवतः आपके SSMS कनेक्शन द्वारा अलग-अलग set के कारण उपयोग करने योग्य नहीं होगी। विकल्प इसलिए यह एक नई अलग योजना तैयार करेगा।

आप नीचे दी गई क्वेरी का उपयोग करके संग्रहीत कार्यविधि के लिए कैश्ड योजनाओं को पुनः प्राप्त कर सकते हैं। फिर यह देखने के लिए तुलना करें कि क्या वे अलग हैं (उदाहरण के लिए धीमी गति से करने वाला इंडेक्स खोजता है और उस स्थान पर बुकमार्क लुकअप करता है जहां दूसरा स्कैन करता है?)

Use YourDatabase;

SELECT *
FROM sys.dm_exec_cached_plans 
CROSS APPLY sys.dm_exec_sql_text(plan_handle) 
CROSS APPLY sys.dm_exec_query_plan(plan_handle) 
cross APPLY sys.dm_exec_plan_attributes(plan_handle) AS epa
where sys.dm_exec_sql_text.OBJECTID=object_id('YourProcName') 
         and attribute='set_options'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. शीर्ष स्तर पर अभिभावक बाल संबंध के लिए प्रश्न

  2. SQL सर्वर ROWCOUNT_BIG ()

  3. कैसे जांचें कि SQL में एक तालिका को हटाने के बाद कितनी संग्रहीत प्रक्रिया प्रभावित होगी

  4. SQL सर्वर में एक समग्र विदेशी कुंजी कैसे बनाएं (T-SQL उदाहरण)

  5. पृथक संग्रहण अपवाद:डोमेन की पहचान निर्धारित करने में असमर्थ