заставляет базу обсчитывать локально. Но в запросе ниже, судя по сетевому трафику, по сети отправляются данные до внутреннего суммирования. Как можно заставить кликхаус джойнить и суммировать локально и пересылать только 100 записей?
SELECT
target,
round(sum(p_traffic)) AS traffic
FROM (
SELECT
target,
sum(ctr * searches) as p_traffic
FROM (
SELECT
target,
keyword,
argMax(ctr,check_date) as ctr
FROM index
AND target IN (
-- тут 100 значений
)
GROUP BY target, keyword
HAVING argMax(rk,check_date)<=20
) ANY INNER JOIN (
SELECT
keyword,
searches
FROM metrics
)
USING keyword
GROUP BY target
SETTINGS distributed_product_mode = 'local', distributed_group_by_no_merge = 1
)
GROUP BY target
Это из-за (select from index) круглые скобки вызывают download на инициатор с шардов, дальше джойн делает инициатор
Обсуждают сегодня