自动递增主键的跳跃很大,就像删除并重新插入了大量的行一样。我敢肯定他们不会被删除。在我的代码中,我没有从表中删除任何内容!
我有一个表,其中一个bigint列作为自动递增主键,一个varchar列被索引。
我注意到主键值有很大的跳跃。例如..
ID Name
1 Foo
2 Bar
12586 Woo
12587 Hoo
987698 What
987698 Is Going On主键是集群的。会是这样吗?
如果它继续这么大的跳跃,它就会溢出。那会发生什么呢?
发布于 2012-01-28 13:17:20
当您说“自动递增主键”时,您是指IDENTITY(1,1)还是其他什么?
在多长时间内,您看到从1%到987698的增长?为什么最后一个值要看两次呢?
您是否已运行SQL Profiler来查看该表上的活动?
您是否在使用事务?如果是,您是否遇到了回滚或异常/错误?
发布于 2012-01-28 13:28:17
查看您的表的标识属性。(Ident_current、Ident_seed、Ident_incr)。您是否在使用事务?
发布于 2014-08-22 12:49:52
Microsoft改变了SQL 2012中的传统顺序。您可以实现自定义排序。只需遵循此链接。这将帮助你解决你的问题。
--创建测试模式创建模式测试
--创建序列Create sequence Test.CountBy1 START WITH 1递增1
--插入三条记录插入Test.Orders (OrderID,名称,数量)值( Test.CountBy1的下一个值,‘轮胎’,2)
http://msdn.microsoft.com/en-us/library/ff878058.aspx
https://stackoverflow.com/questions/9043089
复制相似问题