2011-05-05 46 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