Это нормально.Он не будет использовать индекс, если предикат не будет достаточно избирательным, чтобы его оправдать.
Похоже, что подавляющее большинство записей не NULL, поэтому вместо их поиска по некластерному индексу необходимо выполнить множествопоиск закладок и случайный ввод / вывод для извлечения остальных столбцов, чтобы вернуть, это быстрее и эффективнее просто сканировать весь кластеризованный индекс.
Вы можете использовать FORCESEEK
, чтобы заставить поведение, которое вы говорите, выхочу.Скорее всего, вы обнаружите, что затраченное время и статистика ввода-вывода достигли предела по сравнению со сканированием кластерного индекса.
SET STATISTICS IO ON
SELECT * FROM
YourTable WITH (FORCESEEK)
WHERE YourCol IS NOT NULL