SQL Server 2012 标识列增量跳过:常见问题
SQL Server 2012 的自动递增标识列可能会表现出意外的行为——偶尔跳过增量。这会打乱记录的顺序编号,导致表的 ID 值出现间隙。
此问题源于 SQL Server 2012 中引入的序列。序列提高了身份生成性能和可扩展性,但这种增强可能会导致明显跳过增量。
了解明显的跳跃
当序列管理标识列时,它会预先分配一系列数字。 新记录接收此范围内的值。 如果分配的范围超出了即时需求,即使底层序列正常运行,也会产生跳过数字的错觉。
维护顺序增量的解决方案
要重新获得旧版 SQL Server 版本的严格顺序增量行为,请考虑以下选项:
NO CACHE
选项定义您的序列。这可以防止预分配大数字范围,保证顺序分配。总结
SQL Server 2012 中标识列增量的感知跳过是序列优化的副产品。通过理解这种机制并使用建议的解决方案,您可以在不牺牲序列性能优势的情况下维护序列 ID。
以上是为什么 My SQL Server 2012 标识列跳过增量?的详细内容。更多信息请关注PHP中文网其他相关文章!