Google+用户ID非常长
104560124403688998123
(21个字符),这不可能输入到BIGINT字段中(不是无符号的)
您会为这样的ID使用哪种列类型?
我认为varchar并不是一个好主意。
Google+用户ID非常长
104560124403688998123
(21个字符),这不可能输入到BIGINT字段中(不是无符号的)
您会为这样的ID使用哪种列类型?
我认为varchar并不是一个好主意。
char(length)
,在上面创建一个索引并创建一个(内部)整数主键。在应用程序内部,将数据映射到整数主键。因此,如果有人通过Google ID进行搜索,则查找该Google ID对应的整数主键,并使用该整数主键执行其余查询。
因此,模式如下:
映射表:
id (integer) | google_id (char(length))
如果您创建另一个类似评论等的表,请使用主键 id ,如果要查找某个 googleid 的所有评论,请先获取内部 id,然后加入评论。这样,您只有一个静态、具有可预测长度的索引字符字段上的查询条件,所有其他连接和查询将使用整数键。
我无法找到 Google 的官方建议,但使用 小数 21,0 是正确的。
VARCHAR(255)
(可变长度字符串,最多255个字符)。原因是id可能是一个ASCII字符串,长度最长可达255个字符,参见下面的引用。