NOT IN ( SELECT ... )
dioptimalkan dengan sangat buruk, terutama di versi lama.
Ubah ke ini:
SELECT abc.*
FROM abc
LEFT JOIN zyx ON zyx.abc_id = abc.id
WHERE zyx.abc_id IS NULL;
AND zyx.id = 12345 ;
Untuk zyx, gunakan INDEX(id, abc_id)
atau INDEX(abc_id, id)
Jika zyx.id
adalah PRIMARY KEY
, kueri Anda tidak masuk akal -- mengapa menguji satu baris (12345)?