我有一个SQLite表(没有行ID,但可能不相关,没有任何索引)我的行包含以下数据:
根据http://www.sqlite.org/datatype3.html,整数值可以根据其大小取1,2,3,4,6或8个字节。因此,我希望我的表中的每一行占用大约20个字节。实际上,sqlite3_analyzer
为我提供了表格
Average payload per entry......................... 25.65
Maximum payload per entry......................... 26
介于最小值20和最大值32之间(如果所有整数都以4个字节存储)。是否有可能给DB提供一个"提示"尽可能使用更小的整数类型?或者如何解释这种差异? (我不会考虑它的索引,因为这张表没有。)
类似地,在前一个表中,我有2个实数值+2个小整数,每个条目占用略多于24个字节(这也比我预期的要多)。
另外,没有办法用SQLite以单精度存储浮点数吗?
答案 0 :(得分:3)
实际的record format有一个整数用于标题大小,每列有一个整数来描述值的类型,以及列值的所有数据。
在这种情况下,我们有:
bytes
1 header size
6 column types
16 two real values
3 three small integers between 2 and 127
0 NULL
--
26