Как правило , индекс будет использоваться, если предполагаемая стоимость использования индекса и, возможно, необходимость выполнять дальнейший поиск закладок ниже, чем стоимость простого сканирования всей таблицы.
Если ваш запрос имеет форму:
SELECT Name from Table where Name = 'Boris'
И 1 строка из 1000 имеет имя Борис, оно почти наверняка будет использовано. Если всех зовут Борис, он, вероятно, прибегнет к сканированию таблицы, поскольку индекс вряд ли будет более эффективной стратегией для доступа к данным.
Если это широкая таблица (много столбцов), и вы делаете:
SELECT * from Table where Name = 'Boris'
Затем он может по-прежнему выбрать выполнение сканирования таблицы, если есть разумное предположение, что получение других столбцов из таблицы займет больше времени, чем просто поиск имени, или, опять же, если он, вероятно, будет получать все равно много строк.