SQL Server中唯一标识符ID列上的群集主键

Chr*_*s S 3 sql-server primary-key uniqueidentifier

如果表上的ID列是唯一标识符(Guid),那么在ID列上创建聚簇主键是否有任何意义?

鉴于它们是全球唯一的,排序将如何运作?

Igo*_*ejc 5

我强烈建议不要使用集群Guid密钥......由于几年前设计如此糟糕,我们在SQL服务器上遇到了很大的性能问题.

另请参阅:提高群集索引GUID主键的性能


Ant*_*lev 5

它们的性能非常糟糕,因为它们实际上是随机值(这会"破坏"聚簇索引),并且它们对索引很糟糕,因为较少的条目适合单个页面/范围(SQL Server术语).SQL Server 2005引入了newsequentialid()哪些有助于解决第一个问题.