Контрольные вопросы и задания
рассмотрим два запроса, возвращающие полные суммы бронирований. Пред-
положим, что указанного столбца в таблице bookings не было бы. Тогда запрос,
возвращающий полные суммы бронирований, выглядел бы так:
EXPLAIN ANALYZE
SELECT b.book_ref, sum( tf.amount )
FROM bookings b, tickets t, ticket_flights tf
WHERE b.book_ref = t.book_ref
AND t.ticket_no = tf.ticket_no
GROUP BY 1
ORDER BY 1;
Но благодаря наличию вычисляемого столбца total_amount те же сведения
можно получить с гораздо меньшими затратами ресурсов:
EXPLAIN ANALYZE
SELECT book_ref, total_amount
FROM bookings
ORDER BY 1;
Попробуйте предложить еще какой-нибудь вычисляемый столбец для одной из
таблиц базы данных «Авиаперевозки». Проведите эксперименты, подтвержда-
ющие эффективность вашего решения.
11.* Одним из способов повышения производительности является изменение схемы
данных, а именно: использование временных таблиц. Предположим, что нам
предстоит сделать много выборок из представления «Рейсы» (flights_v), в та-
ком случае имеет смысл подумать о создании временной таблицы:
Достарыңызбен бөлісу: