So ich habe es nun direkt von der Datenbank gelöscht.
Über 700.000 Datensätze die als gelöscht markiert waren sind aus der Datenbank raus.
Die Sicherung läuft nun ebenfalls in Sekunden durch.
Zur Erklärung warum es dazu kam und sicher auch in Zukunft dazu kommt.
Ich möchte einen anderen Kalender in eGroupware sehen der in einer anderen Anwendung als iCal zur Verfügung steht.
Die einzige Möglichkeit die ich kenne ist einen eigenen Benutzer in eGroupwaware anlegen und ein Import/Export Auftrag dafür anlegen.
Das hat nun Jahre gut funktioniert bis eGroupware immer häufiger fehler beim Import gemeldet hat und auch meine Sicherung wurde immer größer was ich mir nicht erklären konnte.
Grund dafür waren die nur als gelöscht markierten Kalendereinträge.
Ich hoffe das es vollständig ist. Mit den SQL Befehlen habe ich alle Kalendereinträge die als gelöscht markiert waren auf den Tabellen gelöscht.
Bei mir hat der Kalenderbenutzer die ID 14.
Wer also mal auf das gleiche Problem stößt bitte cal_owner anpassen.
delete from egw_cal_user where cal_id in (select cal_id from egw_cal where cal_owner = 14 and cal_deleted is not null)
delete from egw_cal_repeats where cal_id in (select cal_id from egw_cal where cal_owner = 14 and cal_deleted is not null)
delete from egw_cal_dates where cal_id in (select cal_id from egw_cal where cal_owner = 14 and cal_deleted is not null)
delete from egw_cal_extra where cal_id in (select cal_id from egw_cal where cal_owner = 14 and cal_deleted is not null)
delete from egw_cal_user where cal_id in (select cal_id from egw_cal where cal_owner = 14 and cal_deleted is not null)
delete from egw_cal where cal_owner = 14 and cal_deleted is not null