2010-12-14 5 views

Antwort

4

Das Löschen von Tabellen aus der Datenbank verringert ihre Größe in Sqlite nicht. Seine Größe bleibt die gleiche wie die maximale erreichte Größe

+0

Warum ist es so konzipiert? – lex

+1

Aus Leistungsgründen. Eine Datei abgeschnitten zu haben, kann für einige Dateisysteme eine kostspielige Operation sein. Sie können den Vakuumbefehl verwenden, wenn Sie die Datenbankdatei wirklich komprimieren möchten. – hmuelner

3

Weil es shrunk sein muss.

Es sei denn, SQLite ist in „auto_vacuum = FULL“ Modus ausgeführt wird, wenn eine große Menge von Daten aus der Datenbank gelöscht wird Datei, die es hinter leeren Raum verlässt, oder „frei“ Datenbankseiten. Diese bedeutet, dass die Datenbankdatei möglicherweise größer als unbedingt erforderlich ist. Wenn VACUUM ausgeführt wird, um die Datenbank neu zu erstellen, wird dieser Speicherplatz wiederhergestellt und die Größe der Datenbankdatei reduziert.

Verwandte Themen