【发布时间】:2012-06-07 20:57:37
【问题描述】:
我有一个包含两列的简单表,一个 int identity 主键和一个 varchar(64)。我在 VarChar 列上放置了唯一约束/索引以强制唯一性。常规查询模式是在列中查询一个值,然后在连接中使用 PK 值来查找其他表中的其他数据。
使非聚集索引具有唯一性对速度有什么好处吗?
将 PK 列包含在非聚集索引中是否有意义,或者它已经存在,因为它首先是聚集 PK?
谢谢。
【问题讨论】:
-
是的 - 使非聚集索引唯一是有意义的。并且假设您的主键是聚集的——那么就没有必要将它显式地包含在非聚集索引中——无论如何,聚集键已经是每个非聚集索引的一部分——总是如此。
标签: sql-server indexing