-1

我正在使用identity specificationSQL Server 2012 中的表。让我们有两个Insert然后两个Delete操作。经过这些操作后,主键应该从1开始,但它会从3开始。我担心这个问题导致长时间没有地方插入新项目。SQL Server 2012 本身是否填补了这些空白?

如果可能,请参考我的文档(例如来自 microsoft)

更新1:
听说可以随机跳跃。特别是当服务器重新启动时。我每 500 毫秒插入一次表格。让,我的主键跳到 1,000,000,000。像这样的两次跳转足以终止我的程序。

4

1 回答 1

4

使用 type INT,从 1 开始,您可以获得超过 20 亿个可能的值——这对于绝大多数情况来说应该绰绰有余——即使有一些差距。

想一想:如果您使用从 1 开始的值,并且您每一秒、一整天、一整年每一天都INT IDENTITY插入一行,那么您需要66.5 年才能达到 20 亿的限制......

有了BIGINT,你得到大约922 万亿(922 有 15 个零 - 922'0000 亿) - 对你来说足够了吗?如果您使用BIGINT IDENTITY从 1 开始的 a,并且您每秒插入一千行,整天,一年中的每一天,您需要一个令人难以置信的2.92 亿年才能达到 922 千万亿的限制......

在MSDN 联机丛书中阅读有关它的更多信息(包括所有选项)。

于 2013-11-10T21:50:25.850 回答