План выполнения запроса

Версия 12.9 от Alexandr Fokin на 2024/04/21 22:44
Предупреждение: Из соображений безопасности документ отображается в ограниченном режиме, поскольку это не текущая версия. Из-за этого могут быть расхождения и ошибки.

 
 В рамках языка SQL в первую очередь определяется какие данные необходимо отобрать на основании запроса, но фактический алгоритм обращения к хранилищам формируется самой БД.
БД может иметь более одного способа получить одни и те-же данные (обращение к таблице или к индексу, порядок выборок и соединений, фильтрация и сортировка и другое).
БД в некоторым смысле оценивает разные варианты получения данных (используя в том числе данные Статистика, оценивая кол-во извлекаемых строк и другое), стремясь найти наиболее эффективный способ получить необходимый результат.
 Оптимизация запроса - это попытка понять как БД выполняется запрос, выявить проблемные узлы плана, попытаться изменить запрос таким образом, чтобы повысить его эффективность.
Одна из возможных причин проблем с запросом это ситуация, когда оценочная и фактическая стоимости выполнения выбранного плана сильно различаются, что приводит к тому, что БД выбирает план, который на практике не является самым эффективным (или по крайне мере работает значительно хуже возможного).
 Query Plan nodes

Внутренние ссылки:

Дочерние страницы:
Обратные ссылки:

Не удалось выполнить макрос [velocity]. Причина: [The execution of the [velocity] script macro is not allowed in [xwiki:Разработка.Базы данных.SQL.Механизмы.План выполнения запроса.WebHome]. Check the rights of its last author or the parameters if it's rendered from another script.]. Нажмите на это сообщение для получения подробной информации.