对字段的过滤是否会从包含该字段的复合键中受益?

时间:2011-10-09 11:47:15

标签: sql-server performance indexing

如果我有一个基于字段的复合键(主索引或普通索引),比如Year(int)和Ord(int),那么过滤WHERE Year=2011会从该键中受益还是会完全忽略它?

1 个答案:

答案 0 :(得分:2)

如果您对n个最左侧的列(其中n> = 1)进行过滤,则至少可以使用该索引(由于其他事实,可能仍会被忽略)。

因此,如果您的索引位于(Year, Ord)并且您按Year过滤 - 那么是,可以使用该索引。

但是,如果您单独使用Ord进行过滤,则甚至不会考虑该过滤器 - 它无法使用。