2011-05-05 32 views
4

我現在有一個要求,即必須將列添加到保存唯一ID(guid)的表中。該ID用於匹配不同表和數據庫中的記錄,但不會有FK約束。將guid存儲爲varchar(32)還是作爲uniqueidentifier類型會更好?SQL:存儲指導

將使用此列完成連接,但不是定期連接。這個ID不是PK。我在存儲和性能方面問。

+1

正如傑克已經回答了,將其存儲爲一個'uniqueidentifier'。但請確保表的聚集索引不基於此字段,因爲它會導致插入性能問題。 – adrianbanks 2011-05-05 19:53:45

+0

它將是一個任意的列,不需要聚簇索引。 – 2011-05-05 20:01:26

回答

20

如果它是一個GUID,它存儲爲uniqueidentifier

+0

+1由SQL Server支持非常好的Uniqueidentifier。我無法想象將GUID保存在uniqueidentifier字段中的任何理由。 – HCL 2011-05-05 19:48:22

+5

同意。如果你知道它是什麼,就不需要將它存儲爲其他東西。 – 2011-05-05 19:49:49

+1

+1做一些別的事情覺得像存儲整型字符串一樣合乎邏輯 – 2011-05-05 19:53:11