История: я новичок в Redshift и PostgreSQL и хотел бы знать, как повысить производительность моих запросов. Мне нужна обратная связь с точки зрения времени выполнения, объема используемой памяти или других соответствующих показателей из запросов, которые я выполняю.
Вопрос: существует ли простая команда/метод SQL(?), чтобы иметь (хотя бы приблизительное представление) о том, какие области запроса занимают больше всего времени для выполнения?
Дополнительная информация. Я часто использую Common Table Expressions следующим образом:
WITH level1 as (SELECT Customerid
FROM customer_tbl
WHERE year > 2000),
level2 as (SELECT level1.Customerid,
purchasing_tbl.item,
purchasing_tbl.price
FROM level1
LEFT JOIN purchasing_tbl
ON purchasing_tbl.id = level1.Customerid
Обычно этот тип структуры может иметь более 10 уровней, которые обычно включают в себя гораздо более громоздкие (с точки зрения большего количества объединений, где, например, оконные функции с различными агрегациями).
При попытке повысить производительность было бы полезно знать, например. сколько времени потребовалось для выполнения уровня 10 по сравнению с уровнем 2.
Клиент: я использую DBeaver 5.1.1.
explain (analyze) ...
, но я думаю, что это недоступно в Redshift. - person a_horse_with_no_name   schedule 27.07.2018