Учебно-практическое пособие москва 2017 ббк


SELECT a.aircraft_code AS a_code



Pdf көрінісі
бет236/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   232   233   234   235   236   237   238   239   ...   243
Байланысты:
Язык SQL. Базовый курс

SELECT a.aircraft_code AS a_code,
a.model,
( SELECT count( r.aircraft_code ) FROM routes r
WHERE r.aircraft_code = a.aircraft_code
) AS num_routes
FROM aircrafts a
GROUP BY 1, 2
ORDER BY 3 DESC;
А в этом варианте коррелированный подзапрос раскрыт и заменен внешним
соединением. Причина использования внешнего соединения в том, что может
найтись модель самолета, не обслуживающая ни одного маршрута, и если не
использовать внешнее соединение, она вообще не попадет в результирующую
выборку.
EXPLAIN ANALYZE
SELECT a.aircraft_code AS a_code,
a.model,
count( r.aircraft_code ) AS num_routes
FROM aircrafts a
LEFT OUTER JOIN routes r
ON r.aircraft_code = a.aircraft_code
GROUP BY 1, 2
ORDER BY 3 DESC;
Исследуйте планы выполнения обоих запросов. Попытайтесь найти объяснение
различиям в эффективности их выполнения. Чтобы получить усредненную кар-
тину, выполните каждый запрос несколько раз. Поскольку таблицы, участвую-
щие в запросах, небольшие, то различие по абсолютным затратам времени вы-
248


полнения будет незначительным. Но если бы число строк в таблицах было боль-
шим, то экономия ресурсов сервера могла оказаться заметной.
Предложите аналогичную пару запросов к базе данных «Авиаперевозки». Про-
ведите необходимые эксперименты с вашими запросами.
9. Одним из способов повышения производительности является изменение схе-
мы данных, связанное с денормализацией, а именно: создание материализо-
ванных представлений. В главе 5 было описано такое материализованное пред-
ставление — «Маршруты» (routes). Команда для его создания была приведена в
главе 6.
Проведите эксперимент: сначала выполните выборку из готового представле-
ния, а затем ту выборку, которая это представление формирует.


Достарыңызбен бөлісу:
1   ...   232   233   234   235   236   237   238   239   ...   243




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет