STRAIGHT_JOIN तालिकाओं के सम्मिलित क्रम को बाध्य करता है, इसलिए table1 बाहरी लूप में स्कैन किया जाता है और table2 इनर लूप में।
ऑप्टिमाइज़र सही नहीं है (हालाँकि अभी भी काफी सभ्य है), और सबसे संभावित कारण पुराने आँकड़े हैं।
नहीं, केवल तभी जब अनुकूलक गलत हो। ऐसा हो सकता है यदि आपका डेटा वितरण गंभीर रूप से विषम है या ठीक से गणना नहीं की जा सकती है (जैसे, स्थानिक या पूर्ण पाठ अनुक्रमणिका के लिए)।
आपको आंकड़े एकत्र करने चाहिए, दोनों तरह से योजनाएं बनानी चाहिए और समझना चाहिए कि इन योजनाओं का क्या मतलब है।
अगर आप इसे देखते हैं:
-
स्वचालित रूप से जेनरेट की गई योजना इष्टतम नहीं है और इसे मानक तरीकों से सुधारा नहीं जा सकता,
-
STRAIGHT_JOINसंस्करण बेहतर है, आप समझते हैं कि यह हमेशा रहेगा और समझेगा क्यों यह हमेशा रहेगा
, फिर STRAIGHT_JOIN use का उपयोग करें ।