*
*


CAPTCHA Image   Reload Image
X

Исследование оптимизации SQL-запросов на примере СУБД Oracle

дипломные работы, программирование и информатика

Объем работы: 57стр

Год сдачи: 2009

Стоимость: 2000 руб.

Просмотров: 879

 

Не подходит работа?
Узнай цену на написание.

Оглавление
Введение
Заключение
Заказать работу
Введение 3
1. Постановка задачи 5
2. Оптимизация SQL-запросов 6
3. Встроенный оптимизатор Oracle 8
4. Исследование работы оптимизатора Oracle 23
4.1 Запрос с использованием одной таблицы 23
4.1.1. Простейший запрос на выборку (SELECT) 23
4.1.2. Запрос с использованием хинта FIRST_ROWS(N) 25
4.1.3. Запрос с использованием ограничений 27
4.1.3.1 Ограничения на значение ячеек непроиндексированных столбцов 27
4.1.3.2 Ограничения на значение ячеек непроиндексированных столбцов с
добавлением агрегатной функции count() 30
4.1.3.3. Запрос с использованием ограничений на значения ячеек
индексированных столбцов 32
4.1.3.3.1. С использованием одного индексированного столбца 32
4.1.3.3.2. С использованием одного индексированного столбца с
добавлением хинта INDEX() 34
4.1.3.3.3.С использованием нескольких индексированных столбцов 36
4.1.3.3.4.С использованием нескольких индексированных столбцов с
добавлением хинта FULL() 38
4.1.3.3.5.С использованием нескольких индексированных столбцов с добавлением хинта INDEX() 39
4.2 Запрос с использованием нескольких таблиц 43
4.2.1. Запрос, написанный без использования правил оптимизации 43
4.2.2. Запрос, написанный с использованием правил оптимизации 44
Заключение 47
Литература 49
Приложение 50
На сегодняшний день, как правило, запросы к базам данных пишутся на языке SQL. Пишут зачастую, не задумываясь, насколько быстро будет работать данный запрос. Для небольших баз данных вопрос быстрого выполнения запроса может и не возникнуть. Но если количество строк в таблицах разрастается до нескольких тысяч или миллионов, то вопрос скорости выполнения запросов становится актуальным. Данная работа посвящена исследованию, как оптимизировать запрос, для максимально быстрой работы приложения.
Оптимизация запросов предназначена для решения этой проблемы путем интегра-ции большого числа методов и стратегий от логических преобразований запросов до опти-мизации путей доступа и хранения данных на уровне файловых систем. Существует расхо-жее мнение о том, что оптимизация запросов, с точки зрения быстродействия, очень сильно затрудняет чтение и анализ программного кода. Однако есть примеры запросов, время вы-полнения которых сократилось с 17 часов до 6 минут благодаря использованию правил оп-тимизации запросов и использованию встроенного оптимизатора. Поэтому при разработке приложения рекомендуется использовать правила оптимизации запросов, даже если это вы-зовет трудности с сопровождением системы. При этом нужно четко понимать, что в опти-мизацию реляционных запросов входят два различных аспекта. Во-первых, это внутренняя задача СУБД, которая заключается в определении наиболее оптимального (эффективного) способа выполнения реляционных запросов. Во-вторых, это задача программиста (или ква-лифицированного пользователя): она заключается в написании таких реляционных запро-сов, для которых СУБД могла бы использовать более эффективные способы нахождения данных.
Таким образом, процесс оптимизации можно разделить на две части:
• оптимизация пользователем (пользовательская оптимизация);
• оптимизация оптимизатором — встроенной компонентой СУБД.
Пользовательская оптимизация – заключается в написании запроса по определен-ным правилам в форме, для которой СУБД будет использовать...
В данной работе проводились исследования оптимизации SQL-запросов на приме-ре работы оптимизатора Oracle с учетом «пользовательских правил» оптимизации и без них. Практические исследования проводились на базе тестовой версии АРТ-БАНК v.4.1.4. программного продукта компании «АРТ-БАНК СПб», в среде Oracle версии 10.2.0.3, на компьютере с ОС – Windows Vista, Процессор – Core 2 Duo 2500 МГц, Память –2048 Мб, Жесткий диск – 320 Гб, доступ к данным осуществляется по средством программы PL/SQL Developer версии 5 (данная конфигурация, может быть использована как для выполнения роли сервера БД, так и для рабочего места пользователя, см. Приложение 3). Расчеты были разбиты на две части. В первой части рассматривались запросы к одной таблицы с одина-ковой структурой, но разным количеством строк в них. Во второй части расчетов — в рас-сматриваемых запросах участвуют семь таблиц разной структурой и с разным количеством записей в них.
В первой части практических исследований были написаны запросы на выборку из таблиц с одинаковой структурой, но разным количеством строк и проводились исследова-ния, как влияет на процесс выполнения запроса добавление хинтов, использование условий на значения, введение агрегатных функций и использование индексов.
На основе результатов полученных в первой части практических расчетов был на-писан запрос, использующий семь таблиц с различной структурой и различным количест-вом строк в них. Данный запрос включал в себя все исследуемые компоненты запроса (хин-ты, условия на значения, индексы) первой практической части. Таким образом, были про-ведены расчеты по выполнению запроса написанного без правил и преобразованным по правилам.
Исходя из проведенных практических экспериментов с SQl-запросами, можно сде-лать следующие выводы:

 Скорость выполнения одного и того же запроса, прямо зависит от количества строк таблицы (для таблиц с одинаковой структурой).
 Если нам известна информация по количеству строк в таблице, то для уменьшения...

После офорления заказа Вам будут доступны содержание, введение, список литературы*
*- если автор дал согласие и выложил это описание.

Работу высылаем в течении суток после поступления денег на счет
ФИО*


E-mail для получения работы *


Телефон


ICQ


Дополнительная информация, вопросы, комментарии:



CAPTCHA Image
Сусловиямиприбретения работы согласен.

 
Добавить страницу в закладки
Отправить ссылку другу