在mysql和java中存储Google用户ID值的最佳方法

时间:2016-06-21 13:40:59

标签: java mysql

来自令牌的Google用户ID e.g:

"sub": "110169484474386276334",

Source

似乎无法找到这个数字的定义那里的例子是21个字符长,所以即使是无符号的bigint也无法在mysql中处理它,并且长期无法在java中处理它,

目前我将其存储为字符串,但我觉得这可能效率低下,特别是因为我的大部分数据库工作最低50%将会查找这些数字,我希望它尽可能地索引友好,我有一种直觉,一个数字的索引会比一个字符串的索引更快。我从有限的文件中假设总有数字。

目前正在使用varchar。谢谢

1 个答案:

答案 0 :(得分:1)

将其保留为字符串。

除非您拥有非常庞大的用户群并且存储空间是一个大问题,否则这样的优化很可能会带来更多麻烦。

将id作为数字存储的一个例子可能是个问题: 带有前导零的ID ,如果将其视为数字,将被忽略。 0100不一定与100相同。