表數(shù)據(jù)量過小或者分布不均勻,導(dǎo)致SQL Server查詢優(yōu)化器認為使用索引掃描的代價大于全表掃描,從而選擇全表掃描而不是使用索引。
索引列上的數(shù)據(jù)不均勻,比如索引列上存在大量重復(fù)值的情況,會導(dǎo)致查詢優(yōu)化器認為使用索引掃描的代價較大。
索引列上存在大量NULL值,如果查詢條件中包含了NULL值,那么索引就無法起到作用。
索引列上的數(shù)據(jù)類型不一致,比如在索引列上使用了函數(shù)或者類型轉(zhuǎn)換,這樣會導(dǎo)致索引無法被使用。
查詢條件中包含了不等于(!=)或者不包含(NOT IN)等操作符,這些操作符會導(dǎo)致索引失效。
查詢條件中使用了函數(shù)或者類型轉(zhuǎn)換,這樣會導(dǎo)致無法使用索引。
索引列上存在大量重復(fù)值,如果查詢條件中包含了重復(fù)值,那么索引就無法起到作用。