Механизмы - План выполнения запроса 

Page / - Изменено Alexandr Fokin в 2025/04/09 10:53 

План выполнения запроса 
Изменено Alexandr Fokin
в 2025/04/09 10:53

Оглавление

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

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

Внутренние ссылки:
Дочерние страницы:
Обратные ссылки:
•	Пагинация | Paging
•	Сценарии
•	PostgreSQL. План выполнения запроса