android - INTEGER 还是一个字符的 TEXT 哪个更有效?

标签 android sqlite

假设我有一个带有 4 个选项的微调器,用户可以从中进行选择:

  • 苹果,
  • 香蕉,
  • 克莱门汀,
  • 火龙果。

我需要将该选项存储在 SQLite 数据库的表中。我可以为这些选项分配值 0、1、2、3 或字母 a、b、c、d。

问题是,就空间而言,创建一个数据类型为 INTEGER 的列并在其中存储数字是否更好?如果我将列定义为 TEXT 并在其中存储一个字符值,会有很大的不同吗?

编辑: 我计划将存储在 Android 设备上的 SQLite 数据库中的数据上传到位于服务器上的 PostgreSQL 数据库中,相应的列是 Char(1) 数据类型。我是否也应该更改那个类型,或者在根据 SQLite 表中的行向 PostgreSQL 表中插入新行时,以某种方式轻松地在假设 2 和“c”之间进行转换?

最佳答案

SQLite file format , 值 01 需要比 2, 3, 'a', ..., 'd'.

但是,在移动设备上,您永远不会拥有足够的数据来区分差异。 使用任何最容易处理的东西。

关于android - INTEGER 还是一个字符的 TEXT 哪个更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43429585/

相关文章:

java - 通过 HTTP 从 android 应用程序发送到 nodejs 服务器后,我的 JSON 看起来不同

android - TextInputLayout 错误信息大小

android - 我如何在 Eclipse IDE 中查看我的 sqlite 数据库结构

Python的sqlite3的executemany不接受元组列表

sql - LIMIT 1的替代方案,以提取日期范围以及前后的第一个条目?

android - SQLiteOpenHelper onCreate()/onUpgrade() 何时运行?

android - 无法在 Wear OS 上注册新磁贴

android - 空白出现在顶部

java - 未找到启动器 Activity !但我已经指定了一个

ruby-on-rails - Rails - Postgres - 无法连接到服务器:连接被拒绝 (PG::ConnectionBad)