主键聚簇索引列是否应添加到非聚簇索引?

时间:2013-01-16 00:04:39

标签: sql sql-server sql-server-2008 indexing

好的,这是一个非聚集索引功能

enter image description here

现在您可以看到Id是Identity列,它是主键和群集。我可以将它包含在索引列中,并将索引标记为唯一,或者不将其包含在索引本身中,并将其添加为包含的列。

应该选择哪一个?为什么?谢谢

1 个答案:

答案 0 :(得分:5)

无论是否明确包含,群集密钥都会自动包含在非聚簇索引中。换句话说 - 不要包含它,除非你需要使用一个谓词来过滤集群密钥然后再使用其他几列(按此顺序) - 在这种情况下,强制它作为第一列是有意义的,因为它将以物理方式存储为最后一列。