Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
70
Добавлен:
10.05.2015
Размер:
327.68 Кб
Скачать

4.8. Оптимизация запросов

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

Этот процесс-выбор эффективной стратегии вычислений выполняет оптимизатор на уровне транслятора.

Оптимизатор использует определенные правила и законы преобразования реляционных выражений

  • Правила выборки и проекции

  • Распределительный закон

  • Законы коммутативности и ассоциативности

  • Семантические преобразования.

Рассмотрим пример оптимизации запроса.

Дано:

R1(A1,A2);R1имеет мощность = 10x103кортежей. ПричемA2=11-15 кортежей.

R2(A3,A4);R2имеет мощность = 20х103кортежей иA3=55-50 кортежей

Найти: 1) R3 = R1(A1,A2) (X) R2(A3,A4)

2)Все кортежиR3, которые имеют А2=11 и А3=55

R3

А1

А2

А3

А4

11

55

11

55

Мощность декартова произведения R3= 10x103x20x103= 200x106– кортежей, т.е для реализации запроса необходимо просмотреть 200х106кортежей.

Для реализации селекции

σА2=11˄А3=55 (R3) необходимо выполнить 200х106обращений к отношениюR3 для просмотра всех кортежей.

Введем эквивалентное преобразование:

σA2=11 ˄ A3=55 (R3) = σA2=11 (R1) (X) σA3=55 (R2)

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

  1. Для реализации σА2=11 (R1) – необходимо реализовать 10Х103обращений к отношениюR1

  2. Для реализации σА3=55 (R2) – необходимо реализовать 20Х103обращений к отношениюR2

  3. Для получения декартова произведения необходимо получить еще 15Х50 = 750 обращений

  4. Общее количество обращений для реализации выражения R(A1,A2,A3,A4)=σA2=11 (R1) (X)σA3=55 (R2) = 20Х103+10Х103+750 ≈ 30Х103обращений.

А в 1 случае имеем 200х106обращений, т.е мы получаем за счет оптимизации запросов выигрыш на4 порядка.

Этот пример дает представление об оптимизации запросов, которая используется в языке SQL.

4.9. Динамика развития моделей данных.

Динамика развития моделей данных может быть наглядно представлена в виде следующего графика:

ООСУБД- обладают возможностью отображения информации о сложных взаимосвязях объектов, но для них характерна низкая скорость выполнения запросов. Логическая структура объектно-ориентированной СУБД внешне похожа на иерархическую структуру, в узлах которой находятся объекты данных.В реляционных СУБД используется реляционная модель данных т.е. данные представляются в виде отношений. Языки для этих СУБД являются объектно- ориентированными. Они работают с объектами, а данные не являются объектами. ООСУБД устраняет это противоречие. В них данные являются объектами. Для них можели данных разрабатываются специалистми СУБД.

ОРСУБД – занимают лидирующую позицию по сложности данных и гибкости поиска. ОРСУБД – или постреляционная СУБД.

Модель этого типа допускает хранение ненормализованных данных. Реализация этого условия требует сложных СУБД, но упрощает работу с данными и увеличивает скоростные характеристики БД.

Соседние файлы в папке Лекции по Базам данных - версия 9.01.10