Можно, но есть некоторые оговорки. Эти комментарии основаны на Oracle, кстати.
Например, SELECT COL1 FROM MY_TABLE может использовать индекс, но если все столбцы индекса обнуляются, то могут быть строки, не включенные в обычный индекс btree, поэтому индекс может не использоваться.
Также возможно, что индекс может быть больше (и, следовательно, более дорогостоящим для полного сканирования), чем базовая таблица (например, где таблица имеет только один столбец), потому что индекс должен также включать в себя идентификатор строки для каждой записи. в качестве значения столбца. В этом случае, если запрос не может использовать информацию индекса каким-либо особым образом (например, вы включаете предложение ORDER BY, которое индекс может предоставить без необходимости сортировки), индекс может не использоваться.
Вам также следует изучить различные методы доступа к индексам, которые СУБД может использовать, чтобы понять их сильные и слабые стороны. В Oracle это, как правило, будет СКАНИРОВАНИЕ ДИАПАЗОНА ИНДЕКСА, СКАНИРОВАНИЕ ПОЛНОГО ИНДЕКСА, СКАНИРОВАНИЕ БЫСТРОГО ПОЛНОГО ИНДЕКСА и СКАНИРОВАНИЕ ИНДЕКСА. Эти знания помогут вам понять, может ли индекс использоваться и каким образом.