1 10000000 30 uniqs 100 10000 1000000 CREATE TABLE mt_30_parts_{uniqs}_uniqs(id UInt32, val1 UInt32, val2 UInt32) ENGINE = MergeTree ORDER BY val1 PARTITION BY id % 30 SETTINGS parts_to_throw_insert=10000, parts_to_delay_insert=10000 SYSTEM STOP MERGES mt_30_parts_{uniqs}_uniqs INSERT INTO mt_30_parts_{uniqs}_uniqs SELECT number, rand() % {uniqs}, rand() FROM numbers_mt(100000000) SETTINGS max_block_size=10000000 SYSTEM START MERGES mt_30_parts_{uniqs}_uniqs OPTIMIZE TABLE mt_30_parts_{uniqs}_uniqs FINAL SELECT sum(val2) FROM mt_30_parts_{uniqs}_uniqs GROUP BY val1 FORMAT Null SELECT groupArray(val2) FROM mt_30_parts_{uniqs}_uniqs GROUP BY val1 FORMAT Null SELECT uniqExact(val2) FROM mt_30_parts_{uniqs}_uniqs GROUP BY val1 FORMAT Null DROP TABLE IF EXISTS mt_30_parts_{uniqs}_uniqs