Speicherplatz zurückgewinnen
DuckDB verwendet ein Einzeldateiformat, das beim Zurückgewinnen von Festplattenspeicher inhärente Einschränkungen hat.
CHECKPOINT
Um nach dem Löschen von Zeilen Speicherplatz zurückzugewinnen, verwenden Sie die Anweisung CHECKPOINT.
VACUUM
Die Anweisung VACUUM löst keine Bereinigung gelöschter Zeilen aus und gibt daher keinen Speicherplatz frei.
Eine Datenbank durch Kopieren kompaktieren
Um die Datenbank zu kompaktieren, können Sie mit der Anweisung COPY FROM DATABASE eine frische Kopie anlegen. Im folgenden Beispiel verbinden wir uns zuerst mit der ursprünglichen Datenbank db1, dann mit der neuen (leeren) Datenbank db2. Anschließend kopieren wir den Inhalt von db1 nach db2.
ATTACH 'db1.db' AS db1;ATTACH 'db2.db' AS db2;COPY FROM DATABASE db1 TO db2;