आप इस व्यवहार को क्यों देखते हैं, इसके कुछ संभावित स्पष्टीकरण हैं। कुछ सामान्य हैं
- सबक्वायरी या सीटीई का बार-बार पुनर्मूल्यांकन किया जा सकता है।
- आंशिक परिणामों को
#temp
में परिवर्तित करना तालिका समीकरण से कुछ संभावित विकल्पों को हटाकर योजना के उस हिस्से के लिए अधिक इष्टतम जुड़ाव आदेश को बाध्य कर सकती है। - आंशिक परिणामों को
#temp
में परिवर्तित करना तालिका खराब कार्डिनैलिटी अनुमानों को ठीक करके शेष योजना में सुधार कर सकती है।
सबसे विश्वसनीय तरीका बस एक #temp
. का उपयोग करना है तालिका बनाएं और इसे स्वयं अमल में लाएं।
विफल होने पर बिंदु 1 के संबंध में देखें CTE या व्युत्पन्न तालिकाओं के मध्यवर्ती भौतिककरण को बाध्य करने के लिए एक संकेत प्रदान करें
. TOP(large_number) ... ORDER BY
. का उपयोग बार-बार पुनर्मूल्यांकन करने के बजाय अक्सर परिणाम को स्पूल करने के लिए प्रोत्साहित कर सकता है।
भले ही वह काम करता हो लेकिन स्पूल पर कोई आंकड़े नहीं हैं।
अंक 2 और 3 के लिए आपको यह विश्लेषण करना होगा कि आपको वांछित योजना क्यों नहीं मिल रही थी। संभवतः सारगर्भित विधेय का उपयोग करने के लिए क्वेरी को फिर से लिखना, या आँकड़ों को अद्यतन करना एक बेहतर योजना प्राप्त कर सकता है। विफल होने पर आप वांछित योजना प्राप्त करने के लिए क्वेरी संकेतों का उपयोग करने का प्रयास कर सकते हैं।