ID列索引跳10000次。任何人都可以帮助解决这个问题吗?
例如:
来自5 to 10006
并且继续10007
,10008
,10009
然后转到20003
,20004
....
这不是问题。这是SQL Server的性能功能。
SQL Server旨在处理许多并发事务-想想每秒数十或数百个插入。它可以在具有多个处理器的系统上执行此操作。
在这样的环境中,将“最大值仅加1”会产生很大的开销-所有不同的处理器都必须就最大值达成共识。这涉及复杂的事务锁定或排序-这会使事情变慢。
为了防止性能瓶颈,SQL Server有时会预先分配标识值。如果不使用数字,可能会导致间隔。
如果您不喜欢此功能,可以通过使用序列和触发器分配值来解决。请注意,替代方法会影响性能。