我试图让SQLite表尽可能小。我的表只包含1个字节的无符号整数。但是,我不清楚何时创建一个新表是什么创建了表的底层结构。例如:
CREATE TABLE test (SmallNumbers INTEGER)
生成的SmallNumbers字段的大小是否为1,2,4 ... 8字节?
如果我使用上面的命令创建包含数字“1”的100万条记录来创建表格,那么生成的.db文件是否会小于我插入的所有包含值为412,321,294,967,295的100万条记录?
当我在表中插入1个字节的无符号整数(关于磁盘空间)时,如何确保这样的表可以尽可能小?
答案 0 :(得分:2)
根据SQLite文档:https://www.sqlite.org/datatype3.html
每个值存储在SQLite数据库中(或由...操纵) 数据库引擎)具有以下存储类之一:
INTEGER。该值是有符号整数,存储在1,2,3,4,6或8中 字节取决于值的大小。
您不需要做任何事情来确保桌子尽可能小。 SQLite将选择能够以值为单位存储您提供的值的最小存储类。