在Sqlite3中,如何使用VACUUM来获取更多空间

时间:2015-03-23 21:47:33

标签: sqlite

我有一个数据库,它一直在删除记录并添加记录。 我只有2MB的内存,我可以用于这个数据库。我知道我应该使用VACUUM,但它不起作用。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

你怎么知道它没有用? 要验证数据库的大小:

$sqlite3 test.db              //open the database
$sqlite> PRAGMA page_size;    // request database's page size configure.
1024                          // test.db has page size 1024 bytes.
$sqlite> PRAGMA page_count;   // request database's page count.
677                           // test.db has 677 pages.

test.db的大小为677 * 677 = 693248字节。

发布" VACUUM",不要添加" PRAGMA",这是常见的错误,只需发送" VACUUM"单独:

$sqlite> VACUUM;               //re-arrange database
$sqlite> PRAGMA page_count;    //check the new page count  
674                            //after clean up, the page count is reduced  

现在数据库大小为:1024 * 674 = 690176字节

相关问题