我原本以为使用SQLite会降低数据的总体积,但实际上我发现CSV格式的数据比SQLite数据库小了4MB。
该数据库包含一个单独的表格,有400,000行和四列。
CSV文件大小为19MB,而SQLite数据库大小为23MB。如果这个表格是10倍以上的大小,那么解析CSV文件比使用SQLite更好。
为什么SQLite数据库比CSV文件更大呢?
不应期望SQLite数据库文件更小。将数据放入数据库/表的目的是根据所需的业务规则/SQL联接访问该数据。索引和其他元数据,如表定义,可以很容易地解释额外的空间要求。
看一下The SQLite Database File Format ,你就会明白开销是从哪里产生的。
数据库的目的不仅仅是存储原始数据。你可以得到整个关系结构、索引...唯一可能期望的是数据文件被压缩,但这可能会影响性能。