能够控制INTEGER类型的字节大小

时间:2016-04-27 14:28:40

标签: sqlite

我试图让SQLite表尽可能小。我的表只包含1个字节的无符号整数。但是,我不清楚何时创建一个新表是什么创建了表的底层结构。例如:

 CREATE TABLE test (SmallNumbers INTEGER)

生成的SmallNumbers字段的大小是否为1,2,4 ... 8字节?

如果我使用上面的命令创建包含数字“1”的100万条记录来创建表格,那么生成的.db文件是否会小于我插入的所有包含值为412,321,294,967,295的100万条记录?

当我在表中插入1个字节的无符号整数(关于磁盘空间)时,如何确保这样的表可以尽可能小?

1 个答案:

答案 0 :(得分:2)

根据SQLite文档:https://www.sqlite.org/datatype3.html

  

每个值存储在SQLite数据库中(或由...操纵)   数据库引擎)具有以下存储类之一:

     

INTEGER。该值是有符号整数,存储在1,2,3,4,6或8中   字节取决于值的大小。

您不需要做任何事情来确保桌子尽可能小。 SQLite将选择能够以值为单位存储您提供的值的最小存储类。