ClickHouse/tests/performance/distinct_in_order.xml
Igor Nikonov d435532c68 Adapt range search algorithm to high cardinality case
+ range search done in steps of some number of rows.
  Controled by new
  setting `distinct_in_order_range_search_step`. By default 0, i.e.
  whole chunk
+ before start binary search, linear probing is done on each step (32
  rows currently)
2022-06-29 23:30:35 +00:00

34 lines
2.1 KiB
XML

<test>
<!-- high cardinality -->
<drop_query>DROP TABLE IF EXISTS distinct_cardinality_high</drop_query>
<create_query>CREATE TABLE distinct_cardinality_high (high UInt64, medium UInt64, low UInt64) ENGINE MergeTree() ORDER BY (high, medium, low)</create_query>
<fill_query>INSERT INTO distinct_cardinality_high SELECT number % 10000, number % 1000, number % 100 from numbers(1000000)</fill_query>
<query>select distinct high from distinct_cardinality_high</query>
<query>select distinct high, low from distinct_cardinality_high</query>
<query>select distinct high, medium from distinct_cardinality_high</query>
<query>select distinct high, medium, low from distinct_cardinality_high</query>
<query>select distinct high, medium from distinct_cardinality_high order by medium</query>
<query>select distinct high, low from distinct_cardinality_high order by low</query>
<query>select distinct high, medium, low from distinct_cardinality_high order by high</query>
<drop_query>DROP TABLE IF EXISTS distinct_cardinality_high</drop_query>
<!-- low cardinality -->
<drop_query>DROP TABLE IF EXISTS distinct_cardinality_low</drop_query>
<create_query>CREATE TABLE distinct_cardinality_low (low UInt64, medium UInt64, high UInt64) ENGINE MergeTree() ORDER BY (low, medium, high)</create_query>
<fill_query>INSERT INTO distinct_cardinality_low SELECT number % 100, number % 1000, number % 10000 from numbers(1000000)</fill_query>
<query>select distinct low from distinct_cardinality_low</query>
<query>select distinct low, medium from distinct_cardinality_low</query>
<query>select distinct low, high from distinct_cardinality_low</query>
<query>select distinct low, medium, high from distinct_cardinality_low</query>
<query>select distinct low, medium from distinct_cardinality_low order by medium</query>
<query>select distinct low, high from distinct_cardinality_low order by high</query>
<query>select distinct low, medium, high from distinct_cardinality_low order by low</query>
<drop_query>DROP TABLE IF EXISTS distinct_cardinality_low</drop_query>
</test>