我有一个包含两列的简单表,一个int identity
主键和一个varchar(64)
。我在VarChar
列上放置了一个唯一约束/索引来强制实现唯一性。常规查询模式是在列中查询值,然后在连接中使用PK值来查找其他表中的其他数据。
使非聚集索引具有唯一的速度优势吗?
将PK列包含在非聚簇索引中是否有意义,或者它是否已经存在,因为它首先是聚簇PK?
感谢。
答案 0 :(得分:2)
您无需将PK添加到任何非聚集索引。正如您所指出的,所有非聚集索引都已包含PK。
是的,拥有一个唯一约束会在查询该索引时提高性能,因为如果知道只有一次匹配,查询优化器可以使用不同的机制来查找数据。