1. Главная
  2. Библиотека
  3. Базы данных
  4. Сделай ОГРОМНЫЙ КОНСПЕКТ и ПОДРОБНЫЙ, чтобы я мог подго...
Решение задачи

Сделай ОГРОМНЫЙ КОНСПЕКТ и ПОДРОБНЫЙ, чтобы я мог подготовиться для сдачи лабы (+примеры + отвтеь на вопросы). Вот моя лабораторная: Составить запросы на языке SQL (пункты 1-2). Для каждого запроса предложить индексы, добавление которых уменьшит время

  • Базы данных

Условие:

Сделай ОГРОМНЫЙ КОНСПЕКТ и ПОДРОБНЫЙ, чтобы я мог подготовиться для сдачи лабы (+примеры + отвтеь на вопросы). Вот моя лабораторная:
Составить запросы на языке SQL (пункты 1-2).
Для каждого запроса предложить индексы, добавление которых уменьшит время выполнения запроса (указать таблицы/атрибуты, для которых нужно добавить индексы, написать тип индекса; объяснить, почему добавление индекса будет полезным для данного запроса).
Для запросов 1-2 необходимо составить возможные планы выполнения запросов. Планы составляются на основании предположения, что в таблицах отсутствуют индексы. Из составленных планов необходимо выбрать оптимальный и объяснить свой выбор.
Изменятся ли планы при добавлении индекса и как?
Для запросов 1-2 необходимо добавить в отчет вывод команды EXPLAIN ANALYZE [запрос]
Подробные ответы на все вышеперечисленные вопросы должны присутствовать в отчете (планы выполнения запросов должны быть нарисованы, ответы на вопросы - представлены в текстовом виде).
Сделать запрос для получения атрибутов из указанных таблиц, применив фильтры по указанным условиям:
1. Таблицы: НЛЮДИ, НСЕССИЯ
2. Вывести атрибуты: НЛЮДИ.ФАМИЛИЯ, НСЕССИЯ.ЧЛВК_ИД.
3. Фильтры (AND):
a) Н_ЛЮДИ.ИМЯ < Роман.
b) Н_СЕССИЯ.ИД = 32199.
c) Н_СЕССИЯ.ИД = 32199.
4. Вид соединения: RIGHT JOIN.
Сделать запрос для получения атрибутов из указанных таблиц, применив фильтры по указанным условиям:
1. Таблицы: НЛЮДИ, НВЕДОМОСТИ, Н_СЕССИЯ.
2. Вывести атрибуты: НЛЮДИ.ИД, НВЕДОМОСТИ.ИД, Н_СЕССИЯ.ИД.
3. Фильтры (AND):
a) Н_ЛЮДИ.ОТЧЕСТВО > Владимирович.
b) Н_ВЕДОМОСТИ.ИД < 1490007.
Вид соединения: INNER JOIN.

Решение:

### Конспект по лабораторной работе

1. Запросы на языке SQL


Запрос 1:

SELECT НЛЮДИ.ФАМИЛИЯ, НСЕССИЯ.ЧЛВК_ИД
FROM Н_ЛЮДИ
RIGHT JOIN НСЕССИЯ ON НЛЮДИ.ИД = НСЕССИЯ.ЧЛВКИД
WHERE НЛЮДИ.ИМЯ Роман AND НСЕССИЯ.ИД = 32199;


Запрос 2:
- - Таблица: Н_ЛЮДИ, Атрибут: ИМЯ, Тип: B-tree - Таблица: Н_СЕССИЯ, Атрибут: ИД, Тип: B-tree - Индекс на НСЕССИЯ.ИД ускорит поиск по идентификатору с условием . - - Таблица: Н_ЛЮДИ, Атрибут: ИД, Тип: B-tree - Таблица: НИД, Тип: B-tree - Таблица: НИД, Тип: B-tree - Индексы на НВЕДОМОСТИ.ЧЛВКСЕССИЯ.ЧЛВК_ИД поможет при фильтрации. - 1. Полное сканирование таблицы Н_ЛЮДИ. 2. Полное сканирование таблицы Н_СЕССИЯ. 3. Применение условия фильтрации. 4. Соединение результатов. - Использование индексов для фильтрации и соединения. - 1. Полное сканирование таблицы Н_ЛЮДИ. 2. Полное сканирование таблицы Н_ВЕДОМОСТИ. 3. Полное сканирование таблицы Н_СЕССИЯ. 4. Применение условий фильтрации. 5. Соединение результатов. - Использование индексов для ускорения соединений и фильтрации. - Планы выполнения изменятся на использование индексов для быстрого доступа к данным, что значительно уменьшит время выполнения. - Аналогично, добавление индексов позволит избежать полного сканирования таблиц и использовать более эффективные методы соединения. Для каждого запроса необходимо выполнить команду: Это даст информацию о плане выполнения и времени, затраченном на выполнение запроса. Подготовьте графические планы выполнения запросов и текстовые ответы на все вопросы. Убедитесь, что вы понимаете, как индексы влияют на производительность запросов и как интерпретировать вывод команды EXPLAIN ANALYZE.

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет