最好的办法

问题描述:

谷歌的用户ID存储谷歌的用户ID值在MySQL和Java从令牌 如:最好的办法

"sub": "110169484474386276334", 

Source

似乎无法找到这个号码的定义有例子是21个字符长,所以即使是一个无符号的bigint不能处理它在mysql和一个长期无法处理它在java中,

目前我存储它作为一个字符串,但我觉得这可能是低效的,特别是因为我的大部分数据库工作最低50%是对这些数字进行查找我希望它尽可能具有索引友好性,并且我有一种直觉认为数字上的索引比字符串上的索引更快。我从有限的文件中认为总是有数字。

当前正在使用varchar。谢谢

+1

表达式“google user id”不能缩写为“Guid”,这没有任何意义。实际上,“Guid”已经被几个已知的**实际** [GUID](https://de.wikipedia.org/wiki/Globally_Unique_Identifier)制造商/开发商 – specializt

保持它作为一个字符串。

除非你有一个非常大的用户基础和存储空间是一个大问题,像这样的优化很可能会带来更多的麻烦。

仅举一例,为什么存储ID为数字可能是一个问题: IDS带前导零,如果你把它当作一个号码将被忽略。 0100不一定与100相同。