Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМУ СУБД.doc
Скачиваний:
13
Добавлен:
11.06.2015
Размер:
427.01 Кб
Скачать

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

Тема: «Построение индексов для оптимизации доступа к данным».

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

  2. Определите для таблиц, используемых в построенных в задании 1 запросах, существование каких-либо индексов.

  3. Для каждого запроса определите подходящий индекс, и создайте его при помощи команды CREATE INDEX.

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

III Рекомендации по выполнению заданий и подготовке

к практическому занятию

Данная практическая работа направлена на формирование у студентов базовых знаний об особенностях исполнения SQL-запросов и использовании индексов для оптимизации их исполнения. В ходе выполнения работы необходимо использовать существующие таблиц, желательно, большого объема, например БД ГТД или БД “Земля”. Рекомендуется для каждого студента создать индивидуальные копии таблиц в собственной схеме.

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

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

На третьем этапе студенты должны самостоятельно разработать для каждого запроса подходящие индексы и создать их при помощи команды CREATE INDEX. Затем нужно повторно исполнить запросы, просмотреть новые планы исполнения и оценить влияние построенных индексов.

IV. Рекомендуемые источники

Основная литература

  1. Малыхина, М. П. Базы данных : основы, проектирование, использование / М. П. Малыхина – СПб. : БХВ-Петербург, 2006. – 528 с.

Дополнительная литература

  1. Конолли, Т. Базы данных. Проектирование, реализация и сопровождение / Т. Конолли, К. Бегг. – М. : Вильямс, 2000. – 1120 с.

  2. Энсор, Д. Oracle. Проектирование баз данных / Д. Энсор, Й. Стивенсон. – Киев : BHV. 1998. – 557 с.

  3. Бобровский, С. Oracle Database XE для Windows. Эффективное использование/ С. Бобровский. – М. : Лори. 2009. – 512 с.

V. Контрольные вопросы для самопроверки

  1. Что такое оптимизация SQL-запросов?

  2. Каким образом происходи доступ к данным при исполнении запроса при помощи B-индексов?

  3. Что такое доступ к данным при помощи полного перебора?

  4. Какая команда языка SQL используется для получения информации о плане исполнения запроса?

  5. Какие Вы знаете типичные виды запросов, при исполнении которых не следует использовать индексы?