MySQL, साथ ही SQL Server को छोड़कर अन्य सभी सिस्टम, मिलान मूल्य मिलते ही वापस लौटने के लिए LEFT JOIN/IS NULL को ऑप्टिमाइज़ करने में सक्षम FALSEहै, और यह एकमात्र सिस्टम है जो इस व्यवहार को दस्तावेज करने के लिए देखभाल करता है। […] चूंकि MySQL एल्गोरिदम का उपयोग करने HASHऔर MERGEइसमें शामिल होने में सक्षम नहीं है, केवल ANTI JOINयह सक्षम हैNESTED LOOPS ANTI JOIN
[...]
अनिवार्य रूप से, [ NOT IN] ठीक वही योजना है जो LEFT JOIN/ IS NULLउपयोग करता है, इस तथ्य के बावजूद कि इन योजनाओं को कोड की विभिन्न शाखाओं द्वारा निष्पादित किया जाता है और वे परिणामों के परिणामों में अलग दिखते हैं EXPLAIN। एल्गोरिदम वास्तव में समान हैं और क्वेरी एक ही समय में पूरी होती हैं।
[...]
[उपयोग करते समय प्रदर्शन ड्रॉप NOT EXISTS] का सटीक कारण बताना कठिन है , क्योंकि यह ड्रॉप रैखिक है और डेटा वितरण, दोनों तालिकाओं में मूल्यों की संख्या आदि पर निर्भर नहीं करता है, जब तक कि दोनों क्षेत्रों को अनुक्रमित नहीं किया जाता है। चूंकि MySQL में कोड के तीन टुकड़े होते हैं जो आवश्यक रूप से एक काम करते हैं, यह संभव है कि कोड के लिए जिम्मेदार EXISTSकिसी तरह की अतिरिक्त जांच करता है जो अतिरिक्त समय लेता है।
[...]
MySQL एक तरह का करने के लिए सभी तीन तरीकों का अनुकूलन कर सकता है NESTED LOOPS ANTI JOIN। […] हालाँकि, ये तीन विधियाँ तीन अलग-अलग योजनाएँ उत्पन्न करती हैं जिन्हें तीन अलग-अलग कोड द्वारा निष्पादित किया जाता है। कोड, जो EXISTSविधेय को निष्पादित करता है, लगभग 30% कम कुशल है […]
यही कारण है कि MySQL में लापता मूल्यों की खोज करने का सबसे अच्छा तरीका एक LEFT JOIN/ IS NULLया के NOT INबजाय का उपयोग कर रहा है NOT EXISTS।
(emphases जोड़ा गया)