Учебное пособие Санкт-Петербург «бхв-петербург»



Pdf көрінісі
бет244/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   240   241   242   243   244   245   246   247   ...   256
sql osnovi yazika

EXPLAIN ANALYZE
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;
319


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


Достарыңызбен бөлісу:
1   ...   240   241   242   243   244   245   246   247   ...   256




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

    Басты бет