Nella mia esperienza le sotto query sono spesso causa di tempi di esecuzione lenti nelle istruzioni SQL, quindi cerco di evitarli. Prova questo:
DELETE tname FROM tname INNER JOIN spam ON (tname.old_id = spam.textid);
Dichiarazione di non responsabilità:questa query non è stata testata, eseguire prima i backup! :-)