Классика баз данных - статьи

       

это три отношения из списка


Например, если Tl, T2, T3 - это три отношения из списка FROM блока запроса, и имеются предикаты соединения между Tl и T2 и между T2 и T3 на других столбцах, чем у соединения Tl-T2, то следующие перестановки не рассматриваются:

Tl-T3-T2 T3-Tl-T2

Для нахождения оптимального плана для соединения n отношений конструируется дерево возможных решений. Как обсуждалось выше, поиск производится путем нахождения наилучшего способа поднабора отношений. Для каждого набора соединяемых отношений оценивается и сохраняется мощность составного отношения. В дополнение к этому, для неупорядоченного соединения и для каждого интересного порядка, полученному путем выполнения соединения до сих пор, сохраняются наиболее дешевое решение для достижения этого порядка и стоимость этого решения. Решение состоит из упорядоченного списка соединяемых отношений, метода, используемого для каждого соединения и плана, показывающего, как будет производиться доступ к каждому отношению. Если либо для внешнего составного отношения, либо для внутреннего отношения требуется сортировка перед выполнением соединения, то это тоже включается в план. Как и в случае одного отношения, "интересными" порядками являются те, которые указываются в разделах GROUP BY или ORDER BY блока запроса (если эти разделы присутствуют). Кроме того, "интересный" порядок определяется каждым столбцом соединения. Для минимизации числа разных интересных порядков и, следовательно, числа решений в дереве вычисляются классы эквивалентности интересных порядков, и для каждого класса эквивалентности сохраняется только наилучшее решение. Например, если имеются предикат соединения E.DNO = D.DNO и другой предикат соединения D.DNO = F.DNO, то все три эти столбца принадлежат одному и тому же классу эквивалентности порядков.

Дерево поиска конструируется путем итерирования по числу отношений, соединенных до сих пор. Прежде всего, находится наилучший способ доступа к каждому одиночному отношению для каждого интересного упорядочивания кортежей и для неупорядоченного случая.

Содержание  Назад  Вперед