2016-02-28 122 views
0

讓我們考慮一個小桌子在SQLite的3巨大差異大小

create table numbers(id int); 

如果用命令行的sqlite3執行此,它結束2KB的數據文件的大小。但另一個工具(即在Firefox的插件SQLite的經理)與64KB的數據文件的大小結束。

這裏是命令行版本:

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

無論是數據文件是在SQLite的3格式。在我的情況下,都有3.8.11.1版本。但是,文件大小的變化如何?

的直接替代這些是數據文件相互兼容?

回答

1

兩個數據庫頭(其中包含sqlite_master table)和numbers表佔用數據庫文件中的一個頁面。

默認page size是1 KB,但SQLite的管理器顯然將其設置爲32千字節。 (如果數據庫是如此之大,性能問題,更大的頁面是更有效的。)

頁面大小是一個透明的實現細節,並且不影響兼容性。