SQL列ID跳10000次

问题描述 投票:-1回答:1

ID列索引跳10000次。任何人都可以帮助解决这个问题吗?

例如:

来自5 to 10006

并且继续100071000810009

然后转到2000320004 ....

sql sql-server indexing id
1个回答
0
投票

这不是问题。这是SQL Server的性能功能。

SQL Server旨在处理许多并发事务-想想每秒数十或数百个插入。它可以在具有多个处理器的系统上执行此操作。

在这样的环境中,将“最大值仅加1”会产生很大的开销-所有不同的处理器都必须就最大值达成共识。这涉及复杂的事务锁定或排序-这会使事情变慢。

为了防止性能瓶颈,SQL Server有时会预先分配标识值。如果不使用数字,可能会导致间隔。

如果您不喜欢此功能,可以通过使用序列和触发器分配值来解决。请注意,替代方法会影响性能。

© www.soinside.com 2019 - 2024. All rights reserved.