D'après mon expérience, les sous-requêtes sont souvent une cause de temps d'exécution lents dans les instructions SQL, c'est pourquoi j'essaie de les éviter. Essayez ceci :
DELETE tname FROM tname INNER JOIN spam ON (tname.old_id = spam.textid);
Avis de non-responsabilité :cette requête n'est pas testée, faites d'abord des sauvegardes ! :-)