Това е нормално. Той няма да използва индекса, освен ако предикатът не е достатъчно селективен, за да го гарантира.
Изглежда, че по-голямата част от записите не са NULL, така че вместо да ги намирате чрез неклъстъриран индекс, тогава трябва да правите купища търсения на отметки и произволен I/O, за да извлечете останалите колони, за да ги върнете, е по-бързо и по-ефективно да просто сканирайте целия клъстерен индекс.
Можете да използвате FORCESEEK
да принудите поведението, което казвате, че искате. Вероятно ще откриете, че необходимото време и статистиката за I/O преминават през покрива в сравнение със сканирането на клъстерен индекс.
SET STATISTICS IO ON
SELECT * FROM
YourTable WITH (FORCESEEK)
WHERE YourCol IS NOT NULL