русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Законы реляционной алгебры


Дата добавления: 2015-07-09; просмотров: 2126; Нарушение авторских прав


Оптимизация SQL-запросов

 

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

Основные шаги оптимизации

 

Поступающий на сервер SQL-запрос подвергается оптимизации с целью уменьшения времени его выполнения. При этом оптимизатор запросов выполняет следующие шаги:

I. Строит логический план выполнения запроса (дерево логических операций).

II. Строит оптимальный физический план выполнения запроса (дерево физических операций).

III. Реализует полученный оптимальный физический план выполнения запроса.

Примечание. Оптимизатор называется восходящим, если при построении оптимального физического плана он просматривает логический план от листьев к корню. Если логический план просматривается от корня к листьям, то такой оптимизатор называется нисходящим.

 

Законы реляционной алгебры

 

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

 

1.Закон коммутативности декартова произведения.

Имеет место равенство:

R1 × R2 = R2 × R1 ,

где R1 и R2 – отношения (таблицы).

2. Закон ассоциативности декартова произведения.

Справедливо равенство:

(R1 × R2) × R3 = R1 × (R2 × R3),

где R1, R2 и R3 – отношения (таблицы).

 

3. Закон каскада проекций.

Если , где {a1, …, an} и {b1, …, bm} – некоторые множества атрибутов, то имеет место следующее равенство:

.

 

4. Закон каскада селекций.

Если условие F является конъюнкцией нескольких условий, т.е. , то справедливо следующее равенство:

.

 

5. Закон перестановки проекции и селекции:

1. В условие F входят атрибуты только из множества {a1, …, an}.

Имеет место следующее равенство:



.

 

2. В условие F входят атрибуты не только из множества {a1, …, an}.

Справежливо следующее равенство:

,

где b1, …, bm – атрибуты таблицы R, которые входят в условие F, но не принадлежат множеству {a1, …, an}.

 

6. Закон перестановки селекции и декартова произведения.

Если условие f1 включает в себя только атрибуты отношения R1, то имеет место следующее равенство:

.

Следствие. Пусть , причем в f1 входят атрибуты только из отношения R1, а в f2 входят атрибуты только из R2. В этом случае справедливо следующее равенство:

.

 

7. Закон перестановки селекции и объединения.

Имеет место следующее равенство:



.

Примечание. В языке SQL операция объединения отношений моделируется с помощью операции UNION.

 

8. Закон перестановки селекции и разности отношений.

Справедливо следующее равенство:

,

где R1 – R2 – множество кортежей, которые принадлежат отношению R1 и не принадлежат R2.

9. Закон перестановки проекции и декартова произведения.

Пусть {b1, …, bn} – некоторые атрибуты из R1, {с1, …, сm} – некоторые атрибуты из R2. Имеет место следующее равенство:

10. Закон перестановки проекции и объединения.

Справедливо следующее равенство:

.

 

Построение логического плана

При построении логического плана выполнения SQL-запроса выполняются следующие действия:

1. Запрос преобразуется в формулу реляционной алгебры (явно или неявно).

2. Выполняется преобразование (оптимизация) этой формулы.

 



<== предыдущая лекция | следующая лекция ==>
Полный формат оператора create table | Преобразование запроса в формулу реляционной алгебры


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.522 сек.