क्योंकि जब आप ऑटो-पैरामीटराइज़ेशन के साथ FIXED मानों का उपयोग करते हैं, तो क्वेरी प्लान वास्तव में जानता है कि क्वेरी को चलाने के लिए उसे किस मूल्य की आवश्यकता है। इसलिए योजना को विशेष रूप से उन मूल्यों के अनुरूप बनाया गया है।
हालाँकि जब आप चर का उपयोग करते हैं, तो क्वेरी कैश में डाली जाने वाली योजना वह है जिसमें पैरामीटरयुक्त चर होते हैं - जिसे किसी भी चर द्वारा प्रतिस्थापित किया जा सकता है और उसी योजना का पुन:उपयोग करेगा। इसलिए इन योजनाओं को "सर्वश्रेष्ठ औसत मामले" को संभालने के लिए अधिक मजबूत और सामान्य होना होगा।
SQL सर्वर 2008 में, आप सेट कर सकते हैं कि सरल पैरामीटर स्वचालित रूप से पैरामीटर किए गए हैं या नहीं ताकि आपको लगातार "सर्वश्रेष्ठ औसत मामला" योजना मिल सके - इसके सभी अच्छे और बुरे के साथ।
संदर्भ:
संपादित करें - प्रदर्शन पर
प्रदर्शन के लिए, अनुकूलक इसे गलत कर सकता है - इस मामले में उसने for the exact values
आंकड़ों को देखा। और महसूस किया कि सूचकांक सहायक नहीं है (एक टिपिंग बिंदु मुद्दा हो सकता है) इसलिए योजना इसके बजाय क्लस्टर स्कैन के लिए है। यह एक अच्छी कला है कि क्या किसी क्वेरी योजना को लागू करना है - लेकिन स्पष्ट रूप से इंडेक्स का उपयोग करना
- विशिष्ट हार्डवेयर
- समय डेटा वितरण में विशिष्ट बिंदु
- विशिष्ट मान दिए गए हैं
जब तक मेरे पास कोई बहुत अच्छा कारण न हो, मैं क्वेरी ऑप्टिमाइज़र (उदाहरण के लिए इंडेक्स संकेतों का उपयोग करके) को तब तक नहीं खेलूंगा जब तक कि मेरे पास यह साबित करने के लिए बहुत सारे डेटा न हों कि यह हमेशा इसे तेज़ कर देगा।