заставляет базу обсчитывать локально. Но в запросе ниже, судя по сетевому трафику, по сети отправляются данные до внутреннего суммирования. Как можно заставить кликхаус джойнить и суммировать локально и пересылать только 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 на инициатор с шардов, дальше джойн делает инициатор
Обсуждают сегодня