NOT IN ( SELECT ... )
ist sehr schlecht optimiert, besonders in älteren Versionen.
Ändern Sie dies hier:
SELECT abc.*
FROM abc
LEFT JOIN zyx ON zyx.abc_id = abc.id
WHERE zyx.abc_id IS NULL;
AND zyx.id = 12345 ;
Verwenden Sie für zyx entweder INDEX(id, abc_id)
oder INDEX(abc_id, id)
Wenn zyx.id
ist der PRIMARY KEY
, macht Ihre Abfrage nicht viel Sinn – warum auf eine einzelne Zeile testen (12345)?