如何在MySQL DB中存储社交ID

时间:2015-09-19 09:59:07

标签: mysql facebook indexing

我需要在我的MySQL数据库中存储一些社交ID(facebook / google / twitter用户ID,facebook place id,ecc ..)。我在stackoverflow上发现了很多关于这方面的问题,但我没有找到满意的答案。例如,你无法确定100%的facebook id将永远是unsigned bigint,从facebook文档中,facebook id被描述为"数字字符串"。谷歌ID似乎比bigint大一位数。

我认为varchar列上的索引比bigint列上的索引慢,因此我认为在可能的情况下使用bigint会比varchar更好。但我意识到你可以将varchar存储为具有适当属性的二进制文件。

出于这个原因,我正在考虑为所有这些社交ID使用varchar并且(因为排序不是问题)将它存储为二进制(attribute = binary),这是因为我需要一个快速索引。 你的想法是什么:这是一个好的,快速的解决方案吗? 感谢

2 个答案:

答案 0 :(得分:2)

我使用varchar。你对这些差异是正确的,但更重要的是,不能保证当前的类型会保持不变。例如,Facebook改变了过去的规模,他们提到了可能包含字符的地方。

索引是索引,如果操作正确,则无需担心其性能。数字索引或varchar之间没有真正的区别。

答案 1 :(得分:1)

bigint + INDEX KEY + INNODB =快速