假设我有一个带有 4 个选项的微调器,用户可以从中进行选择:
- 苹果,
- 香蕉,
- 克莱门汀,
- 火龙果。
我需要将该选项存储在 SQLite 数据库的表中。我可以为这些选项分配值 0、1、2、3 或字母 a、b、c、d。
问题是,就空间而言,创建一个数据类型为 INTEGER 的列并在其中存储数字是否更好?如果我将列定义为 TEXT 并在其中存储一个字符值,会有很大的不同吗?
编辑: 我计划将存储在 Android 设备上的 SQLite 数据库中的数据上传到位于服务器上的 PostgreSQL 数据库中,相应的列是 Char(1) 数据类型。我是否也应该更改那个类型,或者在根据 SQLite 表中的行向 PostgreSQL 表中插入新行时,以某种方式轻松地在假设 2 和“c”之间进行转换?
最佳答案
在SQLite file format , 值 0
和 1
需要比 2
, 3
, 'a'
, ..., 'd'
.
但是,在移动设备上,您永远不会拥有足够的数据来区分差异。 使用任何最容易处理的东西。
关于android - INTEGER 还是一个字符的 TEXT 哪个更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43429585/