ClickHouse/tests/performance/read_in_order_many_parts.xml
Anton Popov 73676f5022
Improve performace of reading in order of sorting key. (#11696)
* simplify reading in order of sorting key

* add perf test for reading many parts

* Revert "simplify reading in order of sorting key"

This reverts commit 7267d7c46e.

* add threshold for preliminary merge for reading in order

* better threshold

* limit threads in test
2020-07-04 15:48:51 +03:00

33 lines
1.5 KiB
XML

<test>
<settings>
<optimize_aggregation_in_order>1</optimize_aggregation_in_order>
<optimize_read_in_order>1</optimize_read_in_order>
<max_partitions_per_insert_block>200</max_partitions_per_insert_block>
<max_threads>8</max_threads>
</settings>
<substitutions>
<substitution>
<name>table</name>
<values>
<value>mt_20_parts</value>
<value>mt_200_parts</value>
</values>
</substitution>
</substitutions>
<create_query>CREATE TABLE mt_20_parts(id UInt32, val1 UInt32, val2 UInt32) ENGINE = MergeTree ORDER BY val1 PARTITION BY id % 20</create_query>
<create_query>CREATE TABLE mt_200_parts(id UInt32, val1 UInt32, val2 UInt32) ENGINE = MergeTree ORDER BY val1 PARTITION BY id % 200</create_query>
<fill_query>INSERT INTO mt_20_parts SELECT number, rand() % 10000, rand() FROM numbers_mt(100000000)</fill_query>
<fill_query>INSERT INTO mt_200_parts SELECT number, rand() % 10000, rand() FROM numbers_mt(100000000)</fill_query>
<fill_query>OPTIMIZE TABLE mt_20_parts FINAL</fill_query>
<fill_query>OPTIMIZE TABLE mt_200_parts FINAL</fill_query>
<query>SELECT val2 FROM {table} ORDER BY val1 LIMIT 100 FORMAT Null</query>
<query>SELECT val2 FROM {table} ORDER BY val1 LIMIT 100000 FORMAT Null</query>
<query>SELECT sum(val2) FROM {table} GROUP BY val1 FORMAT Null</query>
<drop_query>DROP TABLE IF EXISTS {table}</drop_query>
</test>