Sql server 2008 为什么SQL Server 2008建议将主键列作为索引中的包含列
SQLServer2008告诉我在Included列字段的索引中包含主键。我以为PK是自动返回的,包含所有索引?否-不是主键-聚类键是 默认情况下,SQL Server中的情况是相同的,但不必如此。很可能在这个表中,PK不同于集群键。在这种情况下,索引将不了解PK 主键是一个逻辑结构,用于唯一且清晰地标识表中的每一行。您可以将其用于FK约束等 另一方面,集群键是物理索引——它是存储实际物理数据的“街道地址”或页码。因此,它包含在同一个表的每个非聚集索引中—一旦在非聚集索引中找到一个条目,它将用于查找实际的数据行 更新:好吧,我忍不住问“索引女王”金伯利·特里普,她对这个话题的看法——以下是她的答案: 如果PK实际上是CL密钥,则 你是对的…它会自动地 在那里。至于他在哪里 被告知–我不确定(DMV、DTA、, 某处。不管怎样,我肯定 不管他用什么工具 按查询所需的内容进行。 也就是说,这个工具根本就没用 看看是不是CL钥匙… 明确地添加它并不意味着添加它 两次,所以这不是什么大不了的事 全部Sql server 2008 为什么SQL Server 2008建议将主键列作为索引中的包含列,sql-server-2008,indexing,Sql Server 2008,Indexing,SQLServer2008告诉我在Included列字段的索引中包含主键。我以为PK是自动返回的,包含所有索引?否-不是主键-聚类键是 默认情况下,SQL Server中的情况是相同的,但不必如此。很可能在这个表中,PK不同于集群键。在这种情况下,索引将不了解PK 主键是一个逻辑结构,用于唯一且清晰地标识表中的每一行。您可以将其用于FK约束等 另一方面,集群键是物理索引——它是存储实际物理数据的“街道地址”或页码。因此,它包含在同一个表的每个非聚集索引中—一旦在非聚集索引中找到一个条目,它将用于
这有用吗 正确,谢谢你的澄清。在本例中,主键与表中的聚集键相同。@Raine:好的,在这种情况下,您是对的-我希望聚集键列=主键列已经包含在非聚集索引中。六羟甲基三聚氰胺六甲醚。。。不知道为什么SQL Server会建议将此列作为包含的列,真的。。。。