我有需要存储的产品的ID值.现在它们都是整数,但我不确定将来的数据提供程序是否会将字母或符号引入到该混合中,所以我正在讨论现在是将其存储为整数还是字符串.

将值保存为字符串是否有性能或其他缺点?

推荐答案

除非你真的需要整数的特性(也就是做算术的能力),否则你最好把产品ID存储为字符串.您永远不需要将两个产品ID相加,或计算一组产品ID的平均值,因此不需要实际的数字类型.

将产品ID存储为字符串不太可能在性能上产生可测量的差异.虽然存储大小会略有增加,但无论如何,产品ID字符串的大小可能会比数据库行其余部分中的数据小得多.

如果数据Provider 决定开始使用字母或符号字符,那么现在将产品ID存储为字符串将在将来为您节省很多痛苦.没有真正的缺点.

Database相关问答推荐

Kusto:从一个表中复制行并追加到同一集群中的另一个表中

当某些 node 死亡时,mongo 副本集选举如何表现?

我们可以出于不同目的在同一 postgres 数据库上同时进行物理和逻辑复制吗?

如何决定使用数据库事务

任何用于存储过程的静态代码分析工具?

预测下一个自动插入的行 ID (SQLite)

使用 Java 对 mysql 数据库进行简单备份和恢复

如何使用 SELECT WHERE IN() 保持订单?

CouchDB 和 Lotus Notes 有什么区别?

Membase 和 Couchbase 有什么区别?

我可以为 dapper-dot-net 映射指定数据库列名称吗?

Oracle在哪些情况下会自动创建索引?

Android 在用户之间同步数据

在单个 postgres 查询中多次调用 `now()` 是否总是给出相同的结果?

在 SQLite 数据库中加入 3 个表

XML、CSV 或数据库格式的 ICD-9 代码列表

MongoDB 是否支持浮点类型?

如何在数据库中获取原始的created_at值(不是转换为 ActiveSupport::TimeWithZone 的对象)

多币种 - 存储什么以及何时转换?

NoSQL 数据库是否使用或需要索引?