簡體   English   中英

SQL Server uniqueidentifier ID

[英]SQL Server uniqueidentifier Ids

我有一個表,其主鍵列為nchar類型。

我將要替換該類型,我添加了一個新的uniqueidentifier列作為id並將其設置為主鍵,然后將關系重置為其他表。

我這樣做是因為我認為uniqueidentifier比id字符串更好,因為該字符串id是由用戶鍵入的。 它是一種名稱屬性,用作主鍵。

但是當我執行查詢時,它似乎變慢了,我也不明白為什么。

通常,Uniqueidentifier是主鍵的錯誤選擇。 這是一個隨機無序字符串,並且PK是聚簇索引(默認情況下),這意味着如果您插入該id,引擎就會嘗試將其插入該表的中間,然后引擎會拆分該表並進行大量處理。

嘗試為您使用一個int身份PK,如果您需要歷史記錄,則原始strign列可以保留為非聚集唯一索引。

並閱讀這篇(非常小的)文章。 SQL Server中央

PS:如果您尚未注冊該論壇,則可以免費進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM