Метод оптимизации, основанный на синтаксисе

Методы оптимизации

Существуют два принципиально разных подхода к оптимизации запро-сов. Если оптимизатор основывается только на информации о механизмах реализации путей доступа, то метод оптимизации основан на синтаксисе (на правилах, RULE). Если же помимо этого используется статистическая информация о распределении данных, то это метод оптимизации, основанный на стоимости (на издержках, COST). Рассмотрим эти подходы подробнее.

При использовании этого метода план составляется на основании существующих путей доступа и их рангов. Все пути доступа ранжируются на основании знаний о правилах и последовательности осуществления этих путей. В табл. 7.1 в качестве примера приведены ранги путей доступа для СУБД Oracle8.

Таблица 7.1. Ранги путей доступа для СУБД Oracle8

Ранг Пути доступа
  Одна строка по ROWID*
  Одна строка по кластерному соединению
  Одна строка по хеш-кластеру с уникальным или первичным ключом
  Одна строка по уникальному или первичному ключу
  Кластерное соединение
  Ключ хеш-кластера
  Ключ индексного кластера
  Составной индекс
  Индекс по одиночному столбцу (по условию равенства)
  Индексный поиск по закрытому интервалу
  Индексный поиск по открытому интервалу
  Сортировка-объединение
  MAX и MIN по индексированному столбцу
  ORDER BY по индексированному столбцу
  Полный просмотр таблицы

* ROWID (идентификатор строки, КБД) – значение, которое может быть однозначно преоб-разовано в физический адрес записи.

Ранг пути доступа определяется на основании знаний о последовательности реализации этого пути. Например, самый быстрый способ доступа – это чтение по КБД: если он известен, то это одно физическое чтение. А поиск конкретного значения через индекс (ранг 9) обычно занимает меньше времени, чем поиск в закрытом интервале значений (ранг 10).

Метод оптимизации по синтаксису учитывает ранги путей доступа. Если для какой-либо таблицы существует более одного пути доступа, то выбирается тот путь, чей ранг выше, т.к. при прочих равных условиях он выполняется быстрее, чем путь с более низким рангом (рис. 7.2).

Рис.7.2. Построение плана выполнения запроса в методе оптимизации по синтаксису

План выполнения запроса в методе оптимизации по синтаксису формируется из выбранных путей доступа с максимальными рангами.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: