Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Стадии процесса оптимизации запросов




1) Преобразование запроса во внутреннюю форму.

2) Преобразование запроса в каноническую форму.

3) Выбор потенциальных низкоуровневых процедур.

4) Генерация планов выполнения запроса и выбор плана с минимальными затратами.

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

Кроме того, выбранный способ оптимизации должен быть достаточно нейтральным, чтобы не предопределять дальнейших оптимизационных решений.

Обычно внутреннее представление запроса является определенной модификацией дерева запросов.

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

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

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

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

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

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

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

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

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

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

Каждый план выполнения строится как сочетание набора процедур реализации. При этом каждой низкоуровневой операции в запросе соответствует одна процедура.

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




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 411; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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