**Оптимизация запросов в реляционной СУБД** - это такой способ разработки запросов, когда по его начальному представлению вырабатывается процедурный план его выполнения, наиболее оптимальный для существующих в БД управляющих структур. ![Обработка запроса](../Pictures/11_01.%20Обработка%20запроса.png) 1. Запрос подвергается **лексическому** и **синтаксическому анализу**, при этом вырабатывается **внутреннее представление** - оно отражает структуру запроса и характеризует объекты БД. Эта информация выбирается из каталогов БД. 2. При **логической оптимизации** запрос подвергается преобразованиям, улучшающим его. Преобразования бывают эквивалентные, семантические (т. е. новое представление не является эквивалентным начальному, но гарантируется, что результат выполнения совпадает с запросом в начальной форме). Внутреннее представление остается непроцедурным, но уже стремится к этому. 3. Выбираются **альтернативные процедурные планы**. Для каждого плана оценивается стоимость выполнения запроса на основе статистической информации о состоянии БД. Из них выбирается самый "дешевый". 4. Из оптимального плана формируется выполняется **выполняемое представление запроса**. Оно может быть и программой в машинных кодах, и машинно-независимым - более удобным в интерпретации. 5. **Реальное выполнение запроса** - это либо выполнение программы, либо вызов интерпретатора и передача ему плана