2013-03-04 64 views
14

什么样的数据类型facebook用来存储用户标识,什么应该是这种字段性能和可伸缩性透视的最佳数据类型。什么是facebook用户标识的数据类型

如果使用int 4个字节,那么我猜它不够大,如果是8个字节int,那么如何为每个用户或字符串指定相同的随机数。

那么给用户提供修复长度的随机ID,保持可扩展性和性能的最佳方式是什么?

回答

11

好问题。 Facebook ID可能会导致问题以及Tweet ID。两者都超过32位整数范围。根据编程语言的具体情况和目的(例如数据库,代码等),您可能想要使用float或double,但以我的经验将它们转换为string是令人满意的。

在MySQL中,作为标记,提供的是BIGINT数据类型,它的大小足以将这些ID存储为数字。棘手的部分是当你读取这些值并在你的程序代码中处理它们。那些大于系统架构/编程语言允许的最大值将导致错误或截断,从而导致不一致。

如果你想在MySQL中使用固定长度的大ID,一个好的做法是使用CHAR类型和十六进制格式。或者您可以使用UUID格式。