АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Спецификации процедуры OptPlanReturn

Читайте также:
  1. CASH_TAX (Б.Кассовые документы.Налоговые спецификации)
  2. II. Выполнение процедуры
  3. II. Подкожная инъекция. Область постановки, техника выполнения процедуры. Осложнения.
  4. II. Промывание желудка: показания, противопоказания, необходимые приборы, техника выполнения процедуры.
  5. III. Завершение процедуры
  6. III. Завершение процедуры
  7. III. Окончание процедуры
  8. M_EOSPEC (Б. Образцы хозяйственных операций - проводки (спецификации))
  9. XVIII. ПРОЦЕДУРЫ И ФУНКЦИИ
  10. Альтернативные процедуры мирного разрешения споров
  11. Аналитические методы при принятии УР, основные аналитические процедуры, признаки классификации методов анализа, классификация по функциональному признаку.
  12. Аналитические процедуры

 

Вход: список таблиц Q={Qi}.

Выход: вывод оптимального плана.

Алгоритм.

Поиск в массиве структур str экземпляра i, где str[i].W=Q

// Вывод шага оптимизации

Печать (Q, "=", str[i].X, " ", str[i].Y, "метод", str[i].V.k)

Если str[i].X пусто, то выйти из алгоритма

// Вывод оптимального плана для левого аргумента соединения

OptPlanReturn(str[i].X)

// Вывод метода выбора записей для правого аргумента

// соединения, которым является исходная таблица.

OptPlanReturn(str[i].Y)

Конец алгоритма.

 

1.8. Пример построения оптимального физического плана

 

1.8.1. Логический план

 

Построим оптимальный физический план для примера, который был рассмотрен ранее в разделе 1.3. В этом примере был построен логический план, представленный на рис. 1.24.

 

Рис. 1.24. Логический план выполнения запроса.

 

Ниже приведены исходные данные для построения физического плана:

 

1. Количество записей в исходных таблицах:

T(R1)=10000, T(R2)=100000

2. Количество записей в одном блоке таблицы:

LR1= LR2= 100, LJOIN=1000

3. Индексы по атрибутам и число записей в блоке индекса (L):

таблица R1: индекс по атрибуту "код_пользователя" (L=200),

таблица R2: индекс по атрибуту "номер_счета" (L = 200).

Примечание.Записи исходных таблиц могут читаться в отсортированном виде по своим индексированным атрибутам. Записи в таблице R1 сгруппированы по атрибуту "код_пользователя" (кластеризованный индекс), записи в таблице R2 не сгруппированы по атрибуту "остаток".

4. Мощности атрибутов в исходных таблицах:

I(R1, код_пользователя) = 5000, I(R1, номер_счета) = 10000,

I(R2, номер_счета) = 100000, I(R2, остаток) – неизвестно.

5. Предполагается, что используются левосторонние деревья для поиска оптимального плана и применяются каналы.

6. Некоторые параметры:

b = 10 – число блоков в буфере;

Ccomp = Cmove = Cfilter = 0,01 мс;

CB = 10 мс – время чтения/записи блока на диск.

Для построения оптимального плана воспользуемся алгоритмом динамического программирования (см. п. 1.7.1).

 

1.8.2. Алгоритм поиска оптимального физического плана



 

Ниже приведена последовательность расчётов.

 

Определение :

1.Определение метода выбора записей из исходной таблицы R1

(Пользователь):

AccessPlan(R1) (см. п. 1.7.3).

2. Определение метода выбора записей из исходной таблицы R2

(Счёт):

AccessPlan(R2) (см. п. 1.7.3).

 

Определение метода и порядка соединения :

3. Оценка соединения Q1 и Q2 методом NLJ:

в JoinPlan(Q1, Q2) (см. п. 1.7.4).

4. Оценка соединения Q1 и Q2 методом SMJ:

в JoinPlan(Q1, Q2) (см. п. 1.7.4).

5. Выбор метода соединения Q1 и Q2 и заполнение структуры:

в JoinPlan(Q1, Q2) (см. п. 1.7.4).

6. Оценка и выбор метода соединения Q2 и Q1 (по аналогии с

пунктами 3 - 4), сравнение вариантов:

JoinPlan(Q2, Q1) (см. п. 1.7.4).

 

Вывод оптимального физического плана:

7. Вывод физического плана:

OptPlanReturn({Q1, Q2}) (см. п. 1.7.5).

8. Представление физического плана в графическом виде.

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |


При использовании материала, поставите ссылку на Студалл.Орг (0.007 сек.)