Вариант 6532
Составить запросы на языке SQL (пункты 1-2).
Для каждого запроса предложить индексы, добавление которых уменьшит время выполнения запроса (указать таблицы/атрибуты, для которых нужно добавить индексы, написать тип индекса; объяснить, почему добавление индекса будет полезным для данного запроса).
Для запросов 1-2 необходимо составить возможные планы выполнения запросов. Планы составляются на основании предположения, что в таблицах отсутствуют индексы. Из составленных планов необходимо выбрать оптимальный и объяснить свой выбор. Изменятся ли планы при добавлении индекса и как?
Для запросов 1-2 необходимо добавить в отчет вывод команды EXPLAIN ANALYZE [запрос]
Подробные ответы на все вышеперечисленные вопросы должны присутствовать в отчете (планы выполнения запросов должны быть нарисованы, ответы на вопросы - представлены в текстовом виде).
1) Сделать запрос для получения атрибутов из указанных таблиц, применив фильтры по указанным условиям:
- Таблицы: Н_ЛЮДИ, Н_ВЕДОМОСТИ.
- Вывести атрибуты: Н_ЛЮДИ.ИД, Н_ВЕДОМОСТИ.ЧЛВК_ИД.
- Фильтры (AND):
- a) Н_ЛЮДИ.ИД < 100865.
- b) Н_ВЕДОМОСТИ.ДАТА = 2022-06-08.
- c) Н_ВЕДОМОСТИ.ДАТА > 2022-06-08.
- Вид соединения: LEFT JOIN.
2) Сделать запрос для получения атрибутов из указанных таблиц, применив фильтры по указанным условиям:
- Таблицы: Н_ЛЮДИ, Н_ВЕДОМОСТИ, Н_СЕССИЯ.
- Вывести атрибуты: Н_ЛЮДИ.ИД, Н_ВЕДОМОСТИ.ИД, Н_СЕССИЯ.ДАТА.
- Фильтры (AND):
- a) Н_ЛЮДИ.ИД < 152862.
- b) Н_ВЕДОМОСТИ.ДАТА = 2022-06-08.
- Вид соединения: LEFT JOIN.