MySQL ऑप्टिमाइज़र पहले जॉइन ऑर्डर/विधि पर फैसला करेगा, और फिर जांच करेगा कि चुने हुए जॉइन ऑर्डर के लिए, इंडेक्स का उपयोग करके सॉर्टिंग से बचना संभव है या नहीं। इस प्रश्न में धीमी क्वेरी के लिए, ऑप्टिमाइज़र ने ब्लॉक-नेस्टेड-लूप (बीएनएल) जॉइन का उपयोग करने का निर्णय लिया है।
बीएनएल आमतौर पर एक इंडेक्स का उपयोग करने से तेज होता है जब तालिकाओं में से एक बहुत छोटा होता है (और कोई सीमा नहीं होती है)।
हालांकि, बीएनएल के साथ, जरूरी नहीं कि पंक्तियाँ पहली तालिका द्वारा दिए गए क्रम में ही आएँ। इसलिए, LIMIT लागू करने से पहले शामिल होने के परिणाम को क्रमबद्ध करने की आवश्यकता है।
आप set optimizer_switch = 'block_nested_loop=off';
द्वारा बीएनएल को बंद कर सकते हैं