Um Daten (Zeilen) aus Tabellen effektiv zu löschen, dürfen Sie die 1 MB Grenze (Standardwert der Systemvariablen max_allowed_packet) nicht überschreiten.
Bei komplexen DELETE Anweisungen ist das aber schnell der Fall.
Die Lösung ist dann nur die Zerlegeung der DELETE Statements in kleinere Protionen (notfalls Einzelanweidungen).
Am schnellsten läuft ein DELETE Befehl, wenn nur 100 bis 1000 related_column-Werte pro (indizierter) Anweisung anstehen.
Hat die "related_column" (Feld für die Verbindung der Tabellen) keinen Index, ist die Geschwindigkeit von der Anzahl der Argumente der IN-Klausel unabhängig.