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 不大一样,它只是把空闲页移到数据库末尾,从而减小数据库大小。通过这样做,它可以明显地把数据库碎片化,而 VACUUM 则是反碎片化。所以 Auto-VACUUM 只会让数据库更小。 在 SQLite 提示符中,您可以通过下面的编译运行,启用/禁用 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 您可以从命令提示符中运行下面的命令来检查 auto-vacuum 设置: $sqlite3 database_name "PRAGMA auto_vacuum;"