Глава 10. Повышение производительности
Выполните более сложные запросы к представлению и временной таблице и
сравните полученные результаты. Чтобы увидеть фактические затраты време-
ни, включайте в команду EXPLAIN опцию ANALYZE.
Подумайте, при выполнении каких запросов к базе данных «Авиаперевозки»
было бы целесообразно создать временную таблицу. Создайте ее и проведите
эксперименты, подтверждающие эффективность ее использования.
12. Одним из способов повышения производительности является изменение схемы
данных, связанное с денормализацией, а именно: создание индексов.
Выполните следующий простой запрос к таблице «Билеты»:
EXPLAIN ANALYZE
SELECT count( * )
FROM tickets
WHERE passenger_name = 'IVAN IVANOV';
Создайте индекс по столбцу passenger_name:
CREATE INDEX passenger_name_key
ON tickets ( passenger_name );
Теперь повторите запрос и сравните полученные планы и фактические резуль-
таты.
Предложите какой-нибудь запрос к базе данных «Авиаперевозки», для выпол-
нения которого было бы целесообразно создать индекс. Создайте индекс и по-
вторите запрос. Изучите полученный план, посмотрите, используется ли индекс
планировщиком.
13.* В самом конце главы мы выполняли оптимизацию запроса путем создания ин-
декса и модификации текста запроса. Был сформирован такой запрос:
Достарыңызбен бөлісу: