NOT IN ( SELECT ... )
is erg slecht geoptimaliseerd, vooral in oudere versies.
Wijzig dit:
SELECT abc.*
FROM abc
LEFT JOIN zyx ON zyx.abc_id = abc.id
WHERE zyx.abc_id IS NULL;
AND zyx.id = 12345 ;
Gebruik voor zyx INDEX(id, abc_id)
of INDEX(abc_id, id)
Als zyx.id
is de PRIMARY KEY
, uw zoekopdracht heeft niet veel zin -- waarom testen voor een enkele rij (12345)?