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

SSMS में ठीक चलने वाली SQL क्वेरी ASP.NET में बहुत धीमी चलती है

हर तरह की चीज़ें हो सकती हैं।

सबसे पहले, इवान जी सही है कि एसएसएमएस और आपके एएसपी.नेट क्लाइंट के बीच कनेक्शन पैरामीटर और एसईटी विकल्प भिन्न हो सकते हैं। अगर आपके पास इसकी पहुंच है, तो यह Profiler में देखने लायक है।

दूसरा, यदि आपने SSMS में अपनी क्वेरी को लगातार कई बार चलाया है, तो संभव है कि परिणाम कैश किए जा रहे हों और इसलिए यह SSMS में इतनी तेज़ी से चलता है। यदि यह पहली बार SSMS खोलने पर धीरे-धीरे चलता है और इसे चलाने का प्रयास करता है, लेकिन फिर गति करता है, तो यह एक संकेत है कि कैशिंग चल रहा है।

क्यों शामिल होने के लिए एक अतिरिक्त क्लॉज जोड़ने से चीजें धीमी हो सकती हैं, यह कहना मुश्किल है कि आपकी टेबल के बारे में और जानने के बिना क्यों, लेकिन यह असंभव नहीं है कि वह ऐसा कर सकता था। क्या BATCH_INGR के ऊपर कोई अनुक्रमणिका है? जिसमें FACTORY . दोनों शामिल हैं और INGR_CODE ? आपको अब एक की आवश्यकता हो सकती है जिसमें आप INGR_CODE . शामिल कर रहे हैं आपकी शामिल होने की स्थिति में।

इसका पता लगाने का सबसे अच्छा तरीका है INGR_CODE के साथ और बिना क्वेरी प्लान को देखना खंड और देखें कि यह कैसे भिन्न होता है। क्या एक प्रश्न के लिए लागत का आंकड़ा दूसरे की तुलना में बड़ा है? क्या ऐसे टेबल स्कैन हैं जहां पहले नहीं थे? क्या कोई अनुक्रमणिका खोज अनुक्रमणिका स्कैन में बदल गई है?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कॉमन टेबल एक्सप्रेशन (CTE) का उपयोग कब करें

  2. टीसीपी/आईपी के साथ SQL सर्वर 2008 से कनेक्ट करें

  3. यदि SELECT DISTINCT निर्दिष्ट है, तो ORDER BY आइटम को चयन सूची में दिखाई देना चाहिए

  4. SQL सर्वर में दी गई तालिका को संदर्भित करने वाली सभी विदेशी कुंजियाँ लौटाएँ

  5. @@ पहचान, SCOPE_IDENTITY (), OUTPUT और अंतिम पहचान प्राप्त करने के अन्य तरीके