【问题标题】:What is the datatype of facebook useridfacebook用户ID的数据类型是什么
【发布时间】:2013-02-19 01:34:37
【问题描述】:

facebook 使用什么数据类型来存储用户 ID,对于这种现场性能和可扩展性的角度来说,最好的数据类型应该是什么。

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

那么,在考虑可扩展性和性能的同时,为用户提供固定长度的随机 id 的最佳方式是什么?

【问题讨论】:

    标签: php mysql facebook performance random


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      使用 BIGINT(64) 将 Facebook 用户 ID 存储在 MySQL 数据库表中。
      给你:https://developers.facebook.com/blog/post/45/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-04
        相关资源
        最近更新 更多