|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Выбор метода соединения Q1 и Q2 и заполнение структурыПродолжение алгоритма JoinPlan (Q1, Q2) (см. п. 1.7.4): // Стоимость соединения Q1 и Q2
С = min(С1 ,С2)= min(660, 340) = С2 =340 (мс) // SMJ
// Текущая стоимость плана С = str[1].Z + str[2].Z + C = 0,32 + 11000 + 340 @11340 (мс), // где str[1].Z и str[2].Z – стоимости выбора записей из // исходных таблиц R1 и R2 (см. пункты 1.8.3 и 1.8.4), // С (справа) – стоимость соединения по методу SMJ.
// Стоимость ввода/вывода СI/O = str[1].ZIO + str[2].ZIO + CI/O 2 = 0,3 + 10000 + 10 ≈ 10010 (мс). // Значения полей V структуры str[3] (формулы (5.10) в п. 1.6.4):
.
Заполнение структуры str[3] (п. 1.7.2):
str[3] = {{Q1, Q2}, {Q1}, {Q2}, // W, X, Y 11340, 10010, // Z, ZIO {2, 1, {2}, 2} } // V - , B, I, k
1.8.8. Оценка и выбор метода соединения Q2 и Q1
В алгоритме динамического программирования (см. п. 1.7.1): n = 2, i = 2, P = (Q1, Q2), Qj = Q1 .
В JoinPlan (Q2, Q1) (см. п. 1.7.4): R = P – Q1 = Q2, S = Q1 , "а" – атрибут "номер_счета". Алгоритм: m1 = 2, m2 = 1 // номера экземпляров в структуре str, т.к. // str[m1=2].W= Q2 и str[m2=1].W= Q1 // Оценка стоимости соединения R и S (см. формулы пунктов 1.8.5 и // 1.8.6) 1. NLJ, i=1 2. SMJ, i=2
// Стоимость соединения Q2 и Q1 С = min(С1,С2) = С2= 340 (мс) // SMJ // Текущая стоимость плана С = str[2].Z + str[1].Z + C = 11340 (мс) Запись str[3] не изменяется, так как старое значение str[3].Z совпадает с новым значением (C).
1.8.9. Вывод физического плана
Алгоритм OptPlanReturn (см. п. 1.7.5):
1. метод 2 (т.е. SMJ)
2. Q1 = метод 2 (т.е. IndexScan(R1, код_пользователя = 3) + Filter (реализация проекции по номеру счета) ) 3. Q2 = метод 1 (т.е. TableScan(R2) + Filter (селекция по условию остаток > 1500 и реализация проекции по остатку и номеру счета) )
Метод чтения записей из R2 (чтение всех записей) является причиной высокой стоимости выполнения запроса.
На рис. 1.25 представлен разработанный оптимальный физический план в графическом виде.
Рис. 1.25. Представление физического плана в графическом виде. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |