NOT IN ( SELECT ... )
बहुत खराब तरीके से अनुकूलित किया गया है, विशेष रूप से पुराने संस्करणों में।
इसमें बदलें:
SELECT abc.*
FROM abc
LEFT JOIN zyx ON zyx.abc_id = abc.id
WHERE zyx.abc_id IS NULL;
AND zyx.id = 12345 ;
zyx के लिए, या तो INDEX(id, abc_id)
रखें या INDEX(abc_id, id)
अगर zyx.id
PRIMARY KEY
है , आपकी क्वेरी का कोई खास मतलब नहीं है -- एक पंक्ति (12345) के लिए परीक्षण क्यों करें?