Это происходит потому, что индекс не покрывает: вы выбираете ВСЕ поля в таблице.
Когда индекс не охватывает сервер sql запросов, выполните следующие шаги:
1) Индекс стремится найти значения PK (и включены столбцыd), которые соответствуют предикату
2) Поиск ключа (поиск в кластерном индексе) для каждой строки, чтобы найти значения столбца, который не был включен в индекс.
Поэтому в некоторых случаях оптимизатор запросов решает, что полное сканирование таблицы выполняется быстрее, чем эти два шага.
Вы можете заменить SELECT *
с SELECT dt
(сделать индекс покрытия) , и вы получите индекс искать. Вот еще информация: что такое закрытый индекс?