SQL सर्वर के पास चुनने के लिए तीन एल्गोरिदम हैं जब उसे दो तालिकाओं में शामिल होने की आवश्यकता होती है। नेस्टेड-लूप्स-जॉइन, हैश-जॉइन और सॉर्ट-मर्ज-जॉइन। लागत अनुमानों के आधार पर यह किसे चुनता है। इस मामले में यह लगा, कि उसके पास उपलब्ध जानकारी के आधार पर सॉर्ट-मर्ज-जॉइन सही विकल्प था।
SQL सर्वर निष्पादन योजनाओं में एक सॉर्ट-मर्ज दो ऑपरेटरों, सॉर्ट और मर्ज-जॉइन में विभाजित है, क्योंकि सॉर्ट ऑपरेशन आवश्यक नहीं हो सकता है, उदाहरण के लिए यदि डेटा पहले से ही सॉर्ट किया गया है।
जॉइन के बारे में अधिक जानकारी के लिए मेरी ज्वाइन सीरीज़ यहाँ देखें:http://sqlity.net/hi/1146/a-join-a-day-introduction/ सॉर्ट-मर्ज-जॉइन के बारे में लेख यहां है:http://sqlity.net/hi/1480/a-join-a-day-the-sort-merge-join/
आपकी क्वेरी को तेज़ बनाने के लिए, मैं सबसे पहले index. आपके पास क्वेरी में क्लस्टर्ड इंडेक्स स्कैन का एक गुच्छा है। यदि आप उनमें से कुछ को खोज के साथ बदल सकते हैं तो आप सबसे बेहतर होंगे। यह भी जांचें कि SQL सर्वर द्वारा उत्पन्न अनुमान वास्तविक निष्पादन योजना में वास्तविक पंक्ति गणना से मेल खाते हैं या नहीं। यदि वे दूर हैं, तो SQL सर्वर अक्सर खराब विकल्प बनाता है। इसलिए बेहतर आंकड़े प्रदान करने से आपको प्रदर्शन को क्वेरी करने में भी मदद मिल सकती है।