使用WHERE子句创建索引

时间:2012-02-21 09:27:15

标签: sql-server-2008 indexing

我已经阅读了MSDN上的文档,但它没有回答我所追求的内容。如果我使用WHERE子句为特定ID创建指定列的索引,此索引是否包含插入数据库的任何新ID?或者它只会在WHERE子句中添加带有ID的记录吗?

2 个答案:

答案 0 :(得分:1)

假设您正在创建索引以消除列中的NULL值(经典示例之一)。当新值不是NULL时,它们将以与任何非过滤索引相同的方式添加到索引中。但是,任何新的NULL值都不会添加到索引中,因为您是以过滤掉NULL值的方式创建的。您应用的任何其他过滤器将以完全相同的方式工作,包括或排除值,因为它们是根据索引中定义的WHERE子句的条件添加/更新的。

答案 1 :(得分:0)

索引上的where子句与查询中的where子句的工作方式相同,因此如果索引的X ='ABC',那么索引将覆盖所有索引。