如何在作为 CONSTRAINT 的一部分创建的索引中添加“包含”部分

Posted

技术标签:

【中文标题】如何在作为 CONSTRAINT 的一部分创建的索引中添加“包含”部分【英文标题】:How to add an "INCLUDE" part in an Index Created as a part of CONSTRAINT 【发布时间】:2014-09-16 10:20:44 【问题描述】:

我正在查看tsql 查询的执行计划。

计划中有key LookUp (Clustered)。为了避免这种Key LookUp,我尝试在索引(执行计划中使用的索引)中包含一列(Status_Ind)。但是我意识到优化器正在使用两个索引,一个是主键索引,第二个是作为约束的一部分自动创建的索引(一个唯一的非集群索引)。我找不到在此索引中添加 include 部分的方法。

我们如何在自动创建的索引中添加 INCLUDE(通过 CONSTRAINTS)? 我真的是查询优化的初学者..

【问题讨论】:

我正在经历这个,msdn.microsoft.com/en-us/library/aa224827%28SQL.80%29.aspx。但是没找到办法。 【参考方案1】:

如果您发现键查找确实很重要(可能会也可能不会),您可以创建唯一索引而不是唯一约束。在 SQL Server 中,两者是相同的(唯一约束通过唯一索引强制执行)。您可以将包含列放在唯一索引上,因此您应该进行设置。

【讨论】:

以上是关于如何在作为 CONSTRAINT 的一部分创建的索引中添加“包含”部分的主要内容,如果未能解决你的问题,请参考以下文章

我如何匹配数字并创建二维数组?

如何防止熊猫数据框中的索引出现在excel中?

我的表创建中的 CONSTRAINT 语句

使用Python中的索引向后循环?

Constraint Layout 动画

EntityFramework尝试创建指向同一个表的多个链接,FK Constraint错误