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

gen*_*sis 29 mysql google-plus

Google+拥有很长的用户ID

104560124403688998123

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

您将使用哪种列类型的ID?

我不认为varchar是个好主意

sle*_*led 18

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

架构看起来像:

映射表:

id (integer) | google_id (char(length)) 
Run Code Online (Sandbox Code Playgroud)

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


Sas*_*ley 6

我会像使用Facebook一样使用:varchar.

  • @genesis,我不确定“int是否伟大”,但任何可能随时损坏的东西都非常糟糕! (2认同)

rik*_*ess 5

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