क्योंकि यह अन्य तरीकों पर विचार करने के अवसर के अनुकूलक को लूटता है जो अधिक कुशल हो सकते हैं।
जब डेटा वितरण (जिस पर ऑप्टिमाइज़र अपने निर्णय लेता है) गंभीर रूप से विषम होता है और आँकड़े इसे सही ढंग से प्रस्तुत करने में सक्षम नहीं होते हैं।
ये अलग-अलग एल्गोरिदम हैं।
-
LOOP
नेस्टेड लूप है:बाहरी तालिका से प्रत्येक रिकॉर्ड के लिए, आंतरिक तालिका को मैचों के लिए खोजा जाता है (उपलब्ध सूचकांक का उपयोग करके)। सबसे तेज़ जब दोनों तालिकाओं के रिकॉर्ड का केवल एक छोटा सा हिस्साJOIN
. को संतुष्ट करता है औरWHERE
शर्तें। -
MERGE
दोनों तालिकाओं को क्रमबद्ध करें, बेजोड़ रिकॉर्ड को छोड़कर, क्रमबद्ध क्रम में उन्हें पार करें।FULL JOIN
के लिए सबसे तेज़ s और जब दोनों रिकॉर्डसेट पहले से ही सॉर्ट किए गए हों (पिछले सॉर्ट ऑपरेशंस से या जब इंडेक्स एक्सेस पथ का उपयोग किया जाता है) -
HASH
अस्थायी संग्रहण में हैश तालिका बनाएं (स्मृति याtempdb
) तालिकाओं में से एक से और इसे दूसरे से प्रत्येक रिकॉर्ड के लिए खोजता है। सबसे तेज़ अगर किसी भी तालिका के रिकॉर्ड का बड़ा हिस्साWHERE
. से मेल खाता है औरJOIN
हालत।