【问题标题】:Strings or integers for Steam IDsSteam ID 的字符串或整数
【发布时间】:2017-11-10 18:02:17
【问题描述】:

存储 Steam ID 的首选数据类型是什么?这些 ID 与信用卡号非常相似,但使用情况不同。到目前为止,我使用的是无符号大整数,但我还不是 100% 确定。如果 ID 以零数字开头,会导致问题吗?例如 ID:76561197960287930

【问题讨论】:

  • bigint 存储数字。前导 0 是格式问题,应该在前端处理。否则,将其保存为 varchar。
  • 这是 Valve 的问题。

标签: sql database sqldatatypes


【解决方案1】:

与字符串相比,通常数字在磁盘上存储和从数据库传输到应用程序所需的空间更少。出于同样的原因,它们的比较速度更快,例如在查询的where 子句中。

在这里查看bytes needed to store numbersbytes to store strings

在数据库中存储的数字没有前导零。如果数字始终具有固定大小,则可以在从数据库加载数字后在应用程序中用前导零填充数字。

但如果数字可以有前导零,则字符串更容易处理,因为您不必为边缘情况(如前导零)实现额外的逻辑。

【讨论】:

  • 请解释您的反对意见,以便我改进答案。
  • 反对票不是我的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-21
  • 2017-12-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 2016-08-19
  • 2019-12-18
相关资源
最近更新 更多