Mysql DB aufräumen

Hallo,

ich habe eine Mysql DB mit einer Tabelle (MyISAM) mit ca. 10.000.000 Datensätzen. Es kommen ständig neue Daten hinzu. Alle Daten die älter als 6 Monate sind benötige ich nicht mehr und kann sie löschen. Wenn ich die Daten auf einmal löschen würde wäre die Tabelle ca. 30 Minuten gelockt. Das darf aber nicht sein, da in dieser Zeit neue Daten hinzugefügt werden müssen und auch anderweitig auf die Tabelle zugegriffen wird.

Ich habe das bisher so gelöst, dass ich die Daten in 1000er Blöcken lösche und dazwischen einige Minuten warte:

DELETE LOW\_PRIORITY FROM tabelle WHERE id 
Auf id liegt ein Index.

Zum Schluss ein 

    optimze table tabelle;



Das ganze Dauert aber einige Tage bis es durchgelaufen ist, dazwischen ist die Tabelle immer wieder für wenige Sekunden gelockt für das Löschen. Das optimize table dauert natürlich entsprechend länger.

Fällt irgendjemand evtl. eine bessere Lösung hierfür ein? Die Tabelle sollte nie länger als wenige Sekunden gelockt sein.

Gruß,
 Till