如何使无数行唯一?我正在使用的系统当前为BIGINT(20)
,但也有一个最大限制。应该采取什么方法?如何使无限数量的行唯一?
答案 0 :(得分:3)
在给定有限资源的情况下,从无限的数学理论意义上讲,“无限”是不可能的。
实用的方法是实现一个 finite 限制,即“足够无限”(请在此处使用语言)。
如果BIGINT
不够无限,我们可以使用由两个或更多列组成的复合键。但是在执行此操作之前,请确保我们没有解决确实不存在的问题。
MySQL BIGINT
(带符号)的最大值是9223372036854775807。
一些快速数学运算……如果我们每天使用4万亿个id值,则用尽BIGINT
会花费6,300多年。
答案 1 :(得分:0)
最好使用字符串数据类型并以最小的冲突率实现GUID。
这样做将确保您有一种独特的方式来识别行,这是我认为的目标。