Резюме к оптимизатору запросов

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

Оптимизатор запросов является частью Database Engine, которая принимает решение, как лучше выполнить запрос. Он генерирует несколько планов выполнения запроса для заданного запроса и выбирает план с наименьшей стоимостью.

Фаза оптимизации запроса может быть разделена на следующие фазы: анализ запроса, выбор индекса и выбор порядка выполнения соединения. В процессе выполнения фазы анализа запроса оптимизатор просматривает запрос с целью определения аргументов поиска, наличия операторов or и существования критериев соединения - в указанном порядке. Идентификация аргументов поиска позволяет оптимизатору принять решение, будут ли использоваться один или более существующих индексов.

Порядок, в котором две или более соединяемых таблиц записаны в предложении from оператора select, никак не влияет на решения оптимизатора относительно порядка их обработки. Database Engine поддерживает три различные техники обработки соединения, которые могут быть использованы оптимизатором. То, какую технику выберет оптимизатор, зависит от существующих статистических данных для соединяемых таблиц.

Database Engine поддерживает множество инструментов, которые могут быть использованы для редактирования существующих планов. Наиболее важными являются инструменты текстового и графического отображения планов и представления динамического управления (DMV).

Вы можете повлиять на работу оптимизатора, используя подсказки оптимизации. Database Engine поддерживает много подсказок оптимизации, которые могут быть объединены в следующие группы: подсказки таблицы, подсказки соединения и подсказки запроса.

В следующей главе рассматривается настройка производительности.


Подробнее в этой категории: « Фазы обработки запроса
Фазы обработки запроса
Как работает оптимизация запроса
Анализ запроса
Выбор индекса
Селективность выражения с индексированным столбцом

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


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

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