我现在正在处理的数据库中有成千上万的记录被添加和删除,因此自动递增的密钥中存在数十万个大的自动增量和自动增加的数字。
这些数字从不存储以引用单个记录,但用于在进行即时计算时引用记录。
有没有理由删除这些间隙并重置自动增量编号或这是无关紧要的?
id字段是unsigned int,我应该将它增加到unsigned big int吗?根据我的理解,现在如果它达到4,294,967,295就会破裂。
答案 0 :(得分:3)
我担心的唯一原因是你发现自己接近2 ^ 32的限制。如果您没有将该列用作行ID,则不要担心它。
编辑如果您使用此列获取任何类型的标识信息,那么我会将列切换为GUID或其他内容,因为您将会溢出,然后您'我会得到重复的值。那不是bueno。
答案 1 :(得分:1)
我不知道你的自动增量场的增长率是多少,但是你应该用简单的数学来估计你何时会达到4294967295的限制。
如果您仍然觉得需要做某事,可以选择以下选项:
另外,在这里,我感觉到一个糟糕的决定或两个早些时候的某个地方。