SobesLab логотип SobesLab

Ответ

Когда условие запроса не позволяет эффективного поиска по индексу. Например: если в WHERE к индексируемому столбцу применяется функция или выражение (база не сможет использовать индекс по трансформированному значению); если условие мало селективно (выбирает очень большой процент строк, тогда полный скан может быть быстрее); если используются операторы, препятствующие индексу (например, OR между разными столбцами без дополнительных индексов); если статистика не обновлена и оптимизатор неверно оценивает выгодность индекса. Также при очень маленьких таблицах СУБД может вообще не применять индекс, так как чтение напрямую быстрее, чем индексация.