为什么我的数据库文件与具有相同数据的普通文本文件的大小相同?

Cor*_*ein 2 sql sqlite ascii

我们目前以ascii纯文本格式存储我工作的产品的数据,格式如下:

timestamp:2011120211T10:42:23
value:42
error:Foobar error
value:100
error:
timestamp:2011120211T10:43:58
value:0
...
Run Code Online (Sandbox Code Playgroud)

我尝试将这些精确数据从一个13 MB的文本文件导入到带有列(DATETIME,TEXT,TEXT,TEXT,TEXT)的Sqlite数据库中.但令我惊讶的是,数据库的文件大小也是13 MB.

为什么是这样?我希望数据库使用的格式比普通的ascii更节省空间,是不是这样?

And*_*ber 8

绝对不是这样的.那里有很多元数据,实际上通常以效率的名义浪费空间,允许插入,索引等.

我唯一希望ASCII转储大于数据库文件的情况是,如果数据库主要是二进制数据,需要进行BASE64编码才能输出为ASCII,并且没有/最小索引.

  • 我觉得你有一个错字:你写的"较小",你似乎意味着"更大"? (2认同)