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)?