Google+用户ID的最佳列类型是什么?

时间:2011-07-29 11:18:11

标签: mysql google-plus

Google+有很长的用户ID

104560124403688998123

(21个字符),无法输入BIGINT字段(非无符号)

您将使用哪种列类型进行此类ID?

我认为varchar不是好主意

4 个答案:

答案 0 :(得分:17)

如果google id的长度是可预测的,请使用静态char(length),在其上添加索引并创建(内部)整数主键。在应用程序内部,您将数据映射到整数主键。因此,如果有人使用Google ID进行搜索,则会查找此Google ID的整数主键,并使用整数主键执行其余查询。

所以架构如下:

映射表:

id (integer) | google_id (char(length)) 

因此,如果您创建其他表格,例如评论等,请使用主键id,如果您要查找某个googleid的所有评论,请首先获取内部ID,然后加入评论。这样,在具有可预测长度的静态索引字段上只有一个查询条件,所有其他连接和查询将使用整数键。

答案 1 :(得分:6)

我会像使用Facebook一样: varchar

答案 2 :(得分:5)

我找不到谷歌的官方推荐,但我使用十进制21,0 正常工作。

答案 3 :(得分:1)

在appengine的python中我使用ndb.StringProperty保存数据并使用正则表达式\ d {15}进行验证,从而给出一点余量。知道验证这个领域的真正正则表达式是什么真的很棒