SQLite - VACUUM

Vakuum kommandoen renser den sentrale databasen ved å kopiere innholdet til en midlertidig database fil og laste den opprinnelige databasefilen fra kopien. Dette eliminerer gratis sider, justerer tabelldata til å være sammenhengende, og ellers rydder opp i databasen filstrukturen.

Vakuum kommandoen kan endre ROWID oppføringer i tabeller som ikke har en eksplisitt INTEGER PRIMARY KEY. Vakuumet kommandoen fungerer bare på den sentrale databasen. Det er ikke mulig å støvsuge en vedlagt databasefil.

Vakuum kommandoen vil mislykkes hvis det er en aktiv transaksjon. Vakuumet kommandoen er en no-op for i-minne databaser. Som VACUUM kommandoen gjenoppbygger databasefilen fra bunnen av, kan VACUUM også brukes tomodify mange databasespesifikke konfigurasjonsparametere.

Manuell VACUUM

Etter er enkel syntaks å utstede et vakuum kommando for hele database fra kommandolinjen:
$ sqlite3 databasenavn "vakuum;"

Du kan kjøre vakuum fra SQLite spør også som følger:
sqlite > VACUUM;

Du kan også kjøre vakuum på en bestemt tabell som følger:
sqlite > VACUUM table_name;
Auto-VACUUM

SQLite Auto-VACUUM ikke gjøre det samme som VACUUM heller det bare beveger frie sidene til slutten av databasen og dermed redusere størrelsen på databasen. Ved å gjøre dette kan det betydelig fragmentere database mens VACUUM sikrer defragmentering. Så Auto-VACUUM bare holder databasen liten

Du kan aktivere /deaktivere SQLite auto-støvsuging av følgende pragmas kjører på SQLite teksten:.
Sqlite > PRAGMA auto_vacuum = NONE; - 0 betyr deaktivere automatisk vacuumsqlite > PRAGMA auto_vacuum = INCREMENTAL; - 1 betyr aktivere inkrementell vacuumsqlite > PRAGMA auto_vacuum = FULL; - 2 midler aktivere full auto vakuum

Du kan kjøre følgende kommando fra kommandolinjen for å kontrollere auto-vakuum innstilling:
$ sqlite3 databasenavn "PRAGMA auto_vacuum;"



Previous:
Next Page: