ClickHouse/tests/performance/array_index_low_cardinality_strings.xml
Alexander Kuzmenkov 36538ce08f Don't account for short queries, we'll deal with them separately.
New query:

```
WITH ceil(max(q[3]), 1) AS h
SELECT concat('sed -i s\'/^<test.*$/<test max_ignored_relative_change="', toString(h), '">/g\' tests/performance/', test, '.xml') AS s
FROM
(
    SELECT
        test,
        query_index,
        count(*),
        min(event_time),
        max(event_time) AS t,
        arrayMap(x -> floor(x, 3), quantiles(0, 0.5, 0.95, 1)(stat_threshold)) AS q,
        median(stat_threshold) AS m
    FROM perftest.query_metrics
    WHERE (metric = 'client_time') AND (abs(diff) < 0.05) AND (old > 0.2)
    GROUP BY
        test,
        query_index,
        query_display_name
    HAVING (t > '2020-09-01 00:00:00') AND (m > 0.1)
    ORDER BY test DESC
)
GROUP BY test
ORDER BY h DESC
FORMAT PrettySpace
```
2020-09-17 13:00:51 +03:00

30 lines
1.3 KiB
XML

<test max_ignored_relative_change="0.2">
<create_query>DROP TABLE IF EXISTS perf_lc_str</create_query>
<create_query>CREATE TABLE perf_lc_str(
str LowCardinality(String),
arr Array(LowCardinality(String)) default [str]
) ENGINE = MergeTree() ORDER BY tuple()
</create_query>
<fill_query>
INSERT INTO perf_lc_str (str)
SELECT concat('asdf', toString(number % 10000))
FROM numbers(100000000)
</fill_query>
<query>SELECT count() FROM perf_lc_str WHERE str = 'asdf337'</query>
<query>SELECT count() FROM perf_lc_str WHERE arr[1] = 'asdf337'</query>
<query>SELECT count() FROM perf_lc_str WHERE has(arr, 'asdf337')</query>
<query>SELECT count() FROM perf_lc_str WHERE indexOf(arr, 'asdf337') > 0</query>
<query>SELECT count() FROM perf_lc_str WHERE arr[1] = str</query>
<query>SELECT count() FROM perf_lc_str WHERE has(arr, str)</query>
<query>SELECT count() FROM perf_lc_str WHERE indexOf(arr, str) > 0</query>
<query>SELECT count() FROM perf_lc_str WHERE has(arr, concat('0', str))</query>
<query>SELECT count() FROM perf_lc_str WHERE has(arr, concat(str, 'str'))</query>
<query>SELECT count() FROM perf_lc_str WHERE has(arr, concat(str, '0'))</query>
<drop_query>DROP TABLE IF EXISTS perf_lc_str</drop_query>
</test>