SQL Server唯一索引和查询?

时间:2012-06-07 20:57:37

标签: sql-server indexing

我有一个包含两列的简单表,一个int identity主键和一个varchar(64)。我在VarChar列上放置了一个唯一约束/索引来强制实现唯一性。常规查询模式是在列中查询值,然后在连接中使用PK值来查找其他表中的其他数据。

使非聚集索引具有唯一的速度优势吗?

将PK列包含在非聚簇索引中是否有意义,或者它是否已经存在,因为它首先是聚簇PK?

感谢。

1 个答案:

答案 0 :(得分:2)

您无需将PK添加到任何非聚集索引。正如您所指出的,所有非聚集索引都已包含PK。

是的,拥有一个唯一约束会在查询该索引时提高性能,因为如果知道只有一次匹配,查询优化器可以使用不同的机制来查找数据。