Индексы и условия в предложении WHERE

Оценить
(1 голос)

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

Столбец не должен быть индексирован, если селективность условия равна 80% или более. В таких случаях для существующих индексных страниц будут нужны дополнительные операции ввода/вывода, что уменьшает любую экономию времени, достигаемую за счет использования индексов. В подобных конкретных случаях последовательное сканирование таблицы будет более быстрым, и оптимизатор запросов обычно выбирает использование сканирования таблиц, игнорируя бесполезный индекс.

Если условие поиска в часто используемом запросе содержит одну или более операций and, то лучше всего создать составной индекс, который включает все столбцы таблицы, указанные в предложении where оператора select. В примере 10.5 показано создание составного индекса, который включает все столбцы, указанные в предложении where оператора select.

Индексы и условия в предложении WHERE

Индексы и условия в предложении WHERE

 

Оператор and в этом запросе содержит два условия. По существу, оба столбца, появляющиеся в каждом условии, должны быть индексированы с использованием составного некластеризованного индекса.


Индексы и операция соединения
Покрывающий индекс
Индексы для вычисляемых столбцов
Виртуальные вычисляемые столбцы
Постоянные вычисляемые столбцы

Добавить комментарий


Защитный код
Обновить

© 2018 www.serversql.ru. Все права защищены.