SQLite数据文件大小的巨大差异

时间:2016-02-28 07:33:15

标签: sqlite

让我们考虑一下SQLite 3中的一个小表。

create table numbers(id int);

如果使用命令行sqlite3执行此操作,则结束数据文件大小为2KB。但是另一个工具(即Firefox插件中的SQLite Manager)以64KB的数据文件大小结束。

这是命令行版本:

c:\>sqlite3 test.sqlite
sqlite> create table numbers(id int);
sqlite> .exit
c:\>

两个数据文件都是SQLite 3格式。就我而言,两者都有3.8.11.1版本。但是,文件大小的变化是什么呢?

这些数据文件是否相互兼容以进行直接替换?

1 个答案:

答案 0 :(得分:1)

数据库标头(包含sqlite_master table)和numbers表都占用数据库文件中的一个页面。

默认page size为1 KB,但SQLite Manager显然将其设置为32 KB。 (当数据库太大而性能很重要时,更大的页面会更有效。)

页面大小是透明的实现细节,不会影响兼容性。