1 1 2000 10000000 8 parts 100 1000 CREATE TABLE mt_{parts}_parts(id UInt32, val1 UInt32, val2 UInt32) ENGINE = MergeTree ORDER BY val1 PARTITION BY id % {parts} SETTINGS parts_to_throw_insert=10000, parts_to_delay_insert=10000 SYSTEM STOP MERGES mt_{parts}_parts INSERT INTO mt_{parts}_parts SELECT number, rand() % 10000, rand() FROM numbers_mt(100000000) SETTINGS max_block_size=10000000 SYSTEM START MERGES mt_{parts}_parts OPTIMIZE TABLE mt_{parts}_parts FINAL SELECT val2 FROM mt_{parts}_parts ORDER BY val1 LIMIT 1000000 FORMAT Null SELECT val2 FROM mt_{parts}_parts ORDER BY val1 LIMIT 10000000 FORMAT Null SELECT sum(val2) FROM mt_{parts}_parts GROUP BY val1 FORMAT Null DROP TABLE IF EXISTS mt_{parts}_parts