| .docx | |
|---|---|
| report | report |
Для выполнения лабораторной работы №4 необходимо:
- Составить запросы на языке SQL (пункты 1-2).
• Для каждого запроса предложить индексы, добавление которых уменьшит время выполнения запроса
├ указать таблицы/атрибуты, для которых нужно добавить индексы, написать тип индекса
└ объяснить, почему добавление индекса будет полезным для данного запроса
• Для запросов 1-2 необходимо составить возможные планы выполнения запросов.
├ Планы составляются на основании предположения, что в таблицах отсутствуют индексы.
├ Из составленных планов необходимо выбрать оптимальный и объяснить свой выбор.
└ Изменятся ли планы при добавлении индекса и как?
• Для запросов 1-2 необходимо добавить в отчет вывод команды EXPLAIN ANALYZE [запрос]
• Подробные ответы на все вышеперечисленные вопросы должны присутствовать в отчете
├ планы выполнения запросов должны быть нарисованы
└ ответы на вопросы - представлены в текстовом виде.Отчёт должен содержать:
1. Текст задания.
2. Реализацию запросов на SQL.
3. Планы выполнения запросов.
4. Ответы на вопросы, представленные в задании.
5. Выводы по работе.Темы для подготовки к защите лабораторной работы:
- Индексы
- Оптимизация запросов
- Выбор плана выполнения запросов
1. Сделать запрос для получения атрибутов из указанных таблиц, применив фильтры по указанным условиям:
├ Таблицы: Н_ТИПЫ_ВЕДОМОСТЕЙ, Н_ВЕДОМОСТИ.
├ Вывести атрибуты: Н_ТИПЫ_ВЕДОМОСТЕЙ.НАИМЕНОВАНИЕ, Н_ВЕДОМОСТИ.ИД.
├ Фильтры (AND):
├ a) Н_ТИПЫ_ВЕДОМОСТЕЙ.НАИМЕНОВАНИЕ > Ведомость.
└ b) Н_ВЕДОМОСТИ.ДАТА < 1998-01-05.
└ Вид соединения: INNER JOIN.
2. Сделать запрос для получения атрибутов из указанных таблиц, применив фильтры по указанным условиям:
├ Таблицы: Н_ЛЮДИ, Н_ВЕДОМОСТИ, Н_СЕССИЯ.
├ Вывести атрибуты: Н_ЛЮДИ.ОТЧЕСТВО, Н_ВЕДОМОСТИ.ЧЛВК_ИД, Н_СЕССИЯ.ИД.
├ Фильтры (AND):
├ a) Н_ЛЮДИ.ИМЯ = Роман.
├ b) Н_ВЕДОМОСТИ.ДАТА = 1998-01-05.
└ c) Н_СЕССИЯ.ЧЛВК_ИД = 106059.
└ Вид соединения: INNER JOIN