ClickHouse/tests/queries/0_stateless/02343_aggregation_pipeline.sql
2022-06-29 01:16:30 +02:00

59 lines
1.9 KiB
SQL

set max_threads = 16;
set prefer_localhost_replica = 1;
set optimize_aggregation_in_order = 0;
-- { echoOn }
explain pipeline select * from (select * from numbers_mt(1e8) group by number) group by number;
explain pipeline select * from (select * from numbers_mt(1e8) group by number) order by number;
explain pipeline select number from remote('127.0.0.{1,2,3}', system, numbers_mt) group by number settings distributed_aggregation_memory_efficient = 1;
explain pipeline select number from remote('127.0.0.{1,2,3}', system, numbers_mt) group by number settings distributed_aggregation_memory_efficient = 0;
-- { echoOff }
DROP TABLE IF EXISTS proj_agg_02343;
CREATE TABLE proj_agg_02343
(
k1 UInt32,
k2 UInt32,
k3 UInt32,
value UInt32,
PROJECTION aaaa
(
SELECT
k1,
k2,
k3,
sum(value)
GROUP BY k1, k2, k3
)
)
ENGINE = MergeTree
ORDER BY tuple();
INSERT INTO proj_agg_02343 SELECT 1, number % 2, number % 4, number FROM numbers(100000);
OPTIMIZE TABLE proj_agg_02343 FINAL;
-- { echoOn }
explain pipeline SELECT k1, k3, sum(value) v FROM remote('127.0.0.{1,2}', currentDatabase(), proj_agg_02343) GROUP BY k1, k3 SETTINGS distributed_aggregation_memory_efficient = 0;
explain pipeline SELECT k1, k3, sum(value) v FROM remote('127.0.0.{1,2}', currentDatabase(), proj_agg_02343) GROUP BY k1, k3 SETTINGS distributed_aggregation_memory_efficient = 1;
-- { echoOff }
create table t(a UInt64) engine = MergeTree order by (a);
system stop merges t;
create table dist_t as t engine = Distributed(test_cluster_two_shards, currentDatabase(), t, a % 2);
system stop merges dist_t;
insert into dist_t select number from numbers_mt(10);
insert into dist_t select number from numbers_mt(10);
-- { echoOn }
explain pipeline select a from remote('127.0.0.{1,2}', currentDatabase(), dist_t) group by a settings max_threads = 2, distributed_aggregation_memory_efficient = 1;