小编典典

为什么在创建索引时使用 INCLUDE 子句?

all

在准备 70-433 考试时,我注意到您可以通过以下两种方式之一创建覆盖索引。

CREATE INDEX idx1 ON MyTable (Col1, Col2, Col3)

- 要么 -

CREATE INDEX idx1 ON MyTable (Col1) INCLUDE (Col2, Col3)

INCLUDE 子句对我来说是新的。为什么要使用它?在确定是否创建包含或不包含 INCLUDE 子句的覆盖索引时,您会建议哪些指导方针?


阅读 120

收藏
2022-03-14

共1个答案

小编典典

如果该列不在该列中WHERE/JOIN/GROUP BY/ORDER BY,而仅在该列中的SELECT子句列表中是您使用的地方INCLUDE

INCLUDE子句在最低/叶级别添加数据,而不是在索引树中。这使得索引更小,因为它不是树的一部分

INCLUDE columns不是索引中的键列,因此它们没有排序。这意味着它对于我上面提到的谓词、排序等并不是很有用。但是,如果您在键列的几行中进行残余查找,这
可能会很有用

2022-03-14