Развитие идей и приложений реляционной СУБД System R


Особенности оптимизации запросов в System R* - часть 2


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

Следуя терминологии System R* (например, [41]), будем называть внешним отношением соединения отношение, фигурирующее в левой части предиката соединения, и внутренним - отношение из правой части. (Как и в публикациях по System R, в публикациях по System R* подробно анализируются только эквисоединения). При выборе способа соединения внутреннего отношения B, находящегося в узле N, с внешним отношением A, находящемся в узле M, в оптимизаторе System R* рассматриваются следующие пять возможностей [41]:

* Кортежи внутреннего отношения B, удовлетворяющее локальному предикату ограничения, посылаются в узел M и хранятся там во временном отношении. Соединение выполняется в узле M.

* Кортежи внешнего отношения A, удовлетворяющие локальному предикату ограничения, по одному (по мере выработки) посылаются в узел N. Из внутреннего отношения выбираются кортежи, удовлетворяющие локальному предикату ограничения и предикату соединения, и соединяются с кортежем внешнего отношения, образуя очередную порцию результирующего отношения.

* Из внешнего отношения выбираются кортежи, удовлетворяющие локальному предикату ограничения. Для каждого такого кортежа в узел N посылается значение поля (полей) соединения. В этом узле из внутреннего отношения B выбираются кортежи, удовлетворяющие локальному предикату ограничения и имеющие соответствующие значения поля (полей) соединения. Эти кортежи посылаются в узел M, в котором выполняется соединение. Этот способ выполнения соединения называют соединением с использованием полусоединения.

* Все кортежи внутреннего соединения, удовлетворяющие локальному предикату ограничения, посылаются в третий узел P, где сохраняются во временном отношении.


Начало  Назад  Вперед