SQLITE ??????
Vacuum[?v?kju?m]
N ?? ???? ??.
SQLite ?? ?? ???
??: VACUUM ??? ?? ??????? ??? ?? ?????? ??? ??? ?? ?? ??????? ??? ????? ?? ?????? ??? ?? ?????. ??? ?? ?? ??? ???? ???? ???? ???? ????? ???? ?????? ?? ??? ?????. ???? ???? ?? ?? ?(INTEGER PRIMARY KEY)? ?? ?? VACUUM ??? ??? ??? ? ID(ROWID)? ??? ? ????. VACUUM ??? master ????????? ???? ??? ?????? ????? VACUUM ??? ??? ? ????. ?? ????? ??? VACUUM ??? ?????. VACUUM ??? ?? ??? ? ??????? ?? ?????. VACUUM ??? ?????? ??? ???? ?? ????? VACUUM? ???? ?? ??????? ?? ????? ??? ?? ????.
??: ??$sqlite3 ??????_?? "VACUUM;" sqlite> VACUUM ???_??;
SQLite ?? ?? ?
SQLite 的 Auto-VACUUM 與 VACUUM 不大一樣,它只是把空閑頁(yè)移到數(shù)據(jù)庫(kù)末尾,從而減小數(shù)據(jù)庫(kù)大小。通過(guò)這樣做,它可以明顯地把數(shù)據(jù)庫(kù)碎片化,而 VACUUM 則是反碎片化。所以 Auto-VACUUM 只會(huì)讓數(shù)據(jù)庫(kù)更小。 在 SQLite 提示符中,您可以通過(guò)下面的編譯運(yùn)行,啟用/禁用 SQLite 的 Auto-VACUUM: sqlite> PRAGMA auto_vacuum = NONE; -- 0 means disable auto vacuum sqlite> PRAGMA auto_vacuum = INCREMENTAL; -- 1 means enable incremental vacuum sqlite> PRAGMA auto_vacuum = FULL; -- 2 means enable full auto vacuum 您可以從命令提示符中運(yùn)行下面的命令來(lái)檢查 auto-vacuum 設(shè)置: $sqlite3 database_name "PRAGMA auto_vacuum;"