Если предложение where в операторе select содержит условие поиска с одним столбцом, вы должны создать индекс для этого столбца. Использование индекса в особенности рекомендуется, если селективность условия является высокой. Селективность условия определяется как отношение количества строк, удовлетворяющих условию, к общему количеству строк в таблице. (Высокая селективность соответствует меньшему значению этого отношения.) Наиболее успешная обработка поиска с использованием индексированного столбца может быть достигнута, если селективность условия составляет 5% или менее.
Столбец не должен быть индексирован, если селективность условия равна 80% или более. В таких случаях для существующих индексных страниц будут нужны дополнительные операции ввода/вывода, что уменьшает любую экономию времени, достигаемую за счет использования индексов. В подобных конкретных случаях последовательное сканирование таблицы будет более быстрым, и оптимизатор запросов обычно выбирает использование сканирования таблиц, игнорируя бесполезный индекс.
Если условие поиска в часто используемом запросе содержит одну или более операций and, то лучше всего создать составной индекс, который включает все столбцы таблицы, указанные в предложении where оператора select. В примере 10.5 показано создание составного индекса, который включает все столбцы, указанные в предложении where оператора select.
Оператор and в этом запросе содержит два условия. По существу, оба столбца, появляющиеся в каждом условии, должны быть индексированы с использованием составного некластеризованного индекса.