首页 > 数据库 > mysql教程 > 为什么 SQL Server 2012 标识列会出现零星增量跳跃?

为什么 SQL Server 2012 标识列会出现零星增量跳跃?

Mary-Kate Olsen
发布: 2025-01-18 02:42:13
原创
938 人浏览过

Why Do SQL Server 2012 Identity Columns Exhibit Sporadic Increment Jumps?

SQL Server 2012 自动递增列的异常增量跳跃

在 SQL Server 2012 中,用户可能会遇到自动递增 int 列的异常行为,其中增量从较小的值跳跃到较大的值。

问题:

为什么 identity 列的增量会间歇性跳跃,跳过序列中的值?

解答:

这种行为是由于 SQL Server 2012 中引入序列后 identity 键生成的更改造成的。Identity 值现在使用后台的序列对象生成。这些值被缓存以提高性能,这有时会导致增量序列中出现间隙。

缓解方案:

要恢复到以前的增量行为:

  • 启用跟踪标志 272:这会为生成的每个 identity 值生成日志记录,但可能会影响性能。
  • 使用 NO CACHE 设置创建序列生成器:这将禁用缓存并确保一致的增量序列。请记住使用新的序列重新创建现有的 identity 列。

以上是为什么 SQL Server 2012 标识列会出现零星增量跳跃?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板