BigInt 或 Varchar 对于我永远不会排序/计算的大量数字

xbo*_*nez 7 mysql myisam

我需要将用户的 Facebook ID 存储在我的数据库的列中。

ID 始终仅由数字组成,并且可以大到超过 5 亿的数字。考虑到我永远不需要对值进行任何算术、排序或使用关系运算符,什么是更好的选择:BigIntvarchar

该值将始终是唯一的,并且永远不会不存在 ( null)

我所做的唯一操作是检查数据库中是否存在 ID,即=操作员。

gbn*_*gbn 4

varchar 增加了开销:

  • 每个字段和索引中需要存储的字符串长度(MySQL 中额外 2 个字节 IIRC)
  • 需要更多处理来进行比较整理

那么,Facebook API 将类型描述为什么呢?当然使用“原生”的

  • 我在[http://developers.facebook.com/docs/reference/api/user/](http://developers.facebook.com/docs/reference/api/user/)中看到:“字段。用户对象具有以下字段:“`名称:id | 描述:用户的 Facebook ID | 权限:不需要 access_token | 返回:**字符串**` (2认同)