【发布时间】:2010-11-12 04:54:55
【问题描述】:
我正在使用 SQL Server 2005(在不久的将来可能会使用 SQL Server 2008)为网站创建一个新数据库。作为应用程序开发人员,我见过许多数据库使用integer(或bigint 等)作为将用于关系的表的ID 字段。但最近我也看到了使用 unique identifier (GUID) 作为 ID 字段的数据库。
我的问题是,一个人是否比另一个人更有优势? integer 字段在查询和加入等方面会更快吗?
更新:为了清楚起见,这是针对表中的主键。
【问题讨论】:
-
如果 int 与 GUID 的性能是您的数据瓶颈问题的主要来源,请认为自己非常很幸运。在这成为一个因素之前,大多数其他应用程序都会遇到其他更紧迫的问题。
-
另外,GUID 在执行插入语句时很有用,因为您可以在 C# 本身中创建您的 GUID,然后只需执行插入,而不必等待数据库返回新标识符。
-
@Joe Chung 目前没有性能问题,因为数据库还在设计中。
标签: sql sql-server tsql uniqueidentifier