How to vacuum sqlite database?
我想知道如何清理 sqlite 数据库。
我从命令提示符尝试了整个数据库的语法 MANUAL VACUUM 命令:
1 | $sqlite3 database_name"VACUUM;"; |
但它给出的错误是:
1 | near"database_name": syntax error. |
还有自动真空:
1 | PRAGMA auto_vacuum = INCREMENTAL; |
并为特定表尝试了它:
1 | VACUUM table_name; |
但没有结果。
您不必在语法中指定表名。只有
此外,它只会清理主数据库,而不是任何附加的数据库文件。
有关详细信息,请参阅 SQLite 文档。
给出这样的命令:
1 | $sqlite3 database_name 'VACUUM;' |
事实上,这也是从命令行执行其他查询的方法:
1 | $sqlite3 database_name 'select * from tablename;' |
您可以使用数据库的完整路径:
1 | $sqlite3 /path/to/db/foo.db 'VACUUM;' |
运行命令:
1 | VACUUM; |
如果您使用 DB Browser for Sqlite 或
从命令提示符打开 Sqlite:
1 2 | cd C:\\your_folder C:\\Users\\your_user\\AppData\\Local\\Android\\Sdk\\platform-tools\\sqlite3.exe -line your_db_name.db |
并运行
1 | VACUUM; |