首頁 > 資料庫 > 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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板