Enligt min erfarenhet är sub-frågor ofta en orsak till långsamma exekveringstider i SQL-satser, därför försöker jag undvika dem. Prova detta:
DELETE tname FROM tname INNER JOIN spam ON (tname.old_id = spam.textid);
Ansvarsfriskrivning:Denna fråga är inte testad, säkerhetskopiera först! :-)