Решавам проблема със съвети за оптимизатор, като указвам точния ред на присъединяване в командата DELETE:
delete a, b
from b
STRAIGHT_JOIN a on a.id = b.a_id
where a.id = ?;
MySQL първо ще ИЗТРИВА b реда благодарение на съвета за оптимизатор STRAIGHT_JOIN.