В AWS Athena я пытаюсь повторно использовать вычисленные данные, используя предложение WITH, например,
WITH temp_table AS (...)
SELECT ...
FROM temp_table t0, temp_table t1, temp_table t2
WHERE ...
Если запрос выполняется быстро, «Сканированные данные» проходят через крышу.Как будто temp_table
вычисляется для каждого раза, когда он является ссылкой в предложении FROM
.
Я не вижу проблемы, если я создаю временную таблицу отдельно и использую ее несколько раз в запросе.
Есть ли способ действительно многократно использовать подзапрос без штрафа?