Алгоритм поиска для левостороннего дерева соединений
Вход: логический план выполнения SQL-запроса с таблицами R1, …, Rn (см. раздел 1.2).
Выход: квазиоптимальный физический план выполнения запроса.
//Алгоритм динамического программирования
ДЛЯ i=1,n
AccessPlan(Ri) //определение
КОНЕЦ ДЛЯ
ДЛЯ i=2,n
ДЛЯ всех подмножеств таких, что |P|=i
// |P| - количество таблиц в P
ДЛЯ всех таблиц
// определение метода соединения , дерево
// соединения таблиц (P – Qj) уже создано при выполнении
// предыдущих циклов
JoinPlan(P – Qj,Qj)
КОНЕЦ ДЛЯ
КОНЕЦ ДЛЯ
КОНЕЦ ДЛЯ
OptPlanReturn({Q1, …, Qn}) //вывод оптимального плана
//Конец алгоритма
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | Поиск по сайту:
|