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

क्या टीएसक्यूएल एसक्यूएल सर्वर में संग्रहित प्रक्रिया की तुलना में तेजी से परिणाम लौटाएगा

अपने प्रश्नों में, OPTION(OPTIMIZE FOR UNKNOWN) add जोड़ें (अंतिम खंड के रूप में) पैरामीटर सूँघने से रोकने के लिए। वाक्य रचना और स्पष्टीकरण के लिए, क्वेरी संकेत पर दस्तावेज़ देखें। ।

SQL सर्वर पहली बार एक संग्रहीत कार्यविधि चलाता है जो इसे पारित किए गए मापदंडों के लिए निष्पादन योजना (ओं) को अनुकूलित करता है। यह एक प्रक्रिया में किया जाता है जिसे Parameter Sniffing . कहा जाता है ।

सामान्य तौर पर, निष्पादन योजनाओं को SQL सर्वर द्वारा कैश किया जाता है ताकि SQL सर्वर को उसी क्वेरी के लिए हर बार पुन:संकलित न करना पड़े। अगली बार जब प्रक्रिया चलती है, तो SQL सर्वर इसमें प्रश्नों के लिए निष्पादन योजना (योजनाओं) का पुन:उपयोग करेगा ... हालाँकि, निष्पादन योजना पूरी तरह से अक्षम हो सकती है यदि आप इसे (उन्हें) विभिन्न मापदंडों के साथ कहते हैं ।

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

दस्तावेज़ीकरण उद्धृत करने के लिए:

कुछ मामलों में संग्रहीत कार्यविधियाँ पैरामीटर सूँघने से लाभ उठा सकती हैं, कुछ मामलों में वे ऐसा नहीं करती हैं। संग्रहीत प्रक्रियाओं के लिए जो पैरामीटर सूँघने से लाभान्वित नहीं होते हैं, आप प्रत्येक क्वेरी में विकल्प जोड़ सकते हैं जो संग्रहीत प्रक्रिया के किसी भी पैरामीटर का उपयोग करता है।



  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 सर्वर (T-SQL) में अनुलग्नक के रूप में क्वेरी परिणाम ईमेल कैसे करें

  3. क्या मैं SQL सर्वर एक्सप्रेस या वेब या कार्यसमूह संस्करणों के साथ SSIS पैकेज चला सकता हूँ?

  4. %book% के लिए पूर्ण पाठ सूची/अनुक्रमणिका खोज

  5. एक ही सर्वर पर एकाधिक डेटाबेस में क्वेरी