让我们考虑一下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版本。但是,文件大小的变化是什么呢?
这些数据文件是否相互兼容以进行直接替换?
答案 0 :(得分:1)
数据库标头(包含sqlite_master table)和numbers
表都占用数据库文件中的一个页面。
默认page size为1 KB,但SQLite Manager显然将其设置为32 KB。 (当数据库太大而性能很重要时,更大的页面会更有效。)
页面大小是透明的实现细节,不会影响兼容性。