mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 00:30:49 +00:00
Add perf tests for Dynamic and Variant
This commit is contained in:
parent
f37f228af9
commit
d3830e0a4f
59
tests/performance/insert_select_squashing_dynamic.xml
Normal file
59
tests/performance/insert_select_squashing_dynamic.xml
Normal file
@ -0,0 +1,59 @@
|
||||
<test>
|
||||
<settings>
|
||||
<max_block_size>1000</max_block_size>
|
||||
<enable_named_columns_in_function_tuple>0</enable_named_columns_in_function_tuple>
|
||||
<allow_experimental_dynamic_type>1</allow_experimental_dynamic_type>
|
||||
</settings>
|
||||
|
||||
<create_query>
|
||||
CREATE TABLE dynamic_squash_performance_1
|
||||
(
|
||||
d Dynamic
|
||||
)
|
||||
ENGINE = Null;
|
||||
</create_query>
|
||||
|
||||
<create_query>
|
||||
CREATE TABLE dynamic_squash_performance_2
|
||||
(
|
||||
d Dynamic(max_types=6)
|
||||
)
|
||||
ENGINE = Null;
|
||||
</create_query>
|
||||
|
||||
<create_query>
|
||||
CREATE TABLE src_dynamic_squash_performance_1
|
||||
(
|
||||
d Dynamic
|
||||
)
|
||||
ENGINE = Memory;
|
||||
</create_query>
|
||||
|
||||
<create_query>
|
||||
CREATE TABLE src_dynamic_squash_performance_2
|
||||
(
|
||||
d Dynamic(max_types=6)
|
||||
)
|
||||
ENGINE = Memory;
|
||||
</create_query>
|
||||
|
||||
<fill_query>
|
||||
<![CDATA[insert into src_dynamic_squash_performance_1 select multiIf(number % 15000 < 1000, multiIf(number % 15 < 1,tuple(range(number % 100))::Tuple(b1v1 Array(UInt64))::Dynamic, number % 15 < 3,tuple(range(number % 100))::Tuple(b1v2 Array(UInt64))::Dynamic, number % 15 < 6,tuple(range(number % 100))::Tuple(b1v3 Array(UInt64))::Dynamic, number % 15 < 10,tuple(range(number % 100))::Tuple(b1v4 Array(UInt64))::Dynamic,tuple(range(number % 100))::Tuple(b1v5 Array(UInt64))::Dynamic), number % 15000 < 3000, multiIf(number % 15 < 1,tuple(range(number % 100))::Tuple(b2v1 Array(UInt64))::Dynamic, number % 15 < 3,tuple(range(number % 100))::Tuple(b2v2 Array(UInt64))::Dynamic, number % 15 < 6,tuple(range(number % 100))::Tuple(b2v3 Array(UInt64))::Dynamic, number % 15 < 10,tuple(range(number % 100))::Tuple(b2v4 Array(UInt64))::Dynamic,tuple(range(number % 100))::Tuple(b2v5 Array(UInt64))::Dynamic), number % 15000 < 6000, multiIf(number % 15 < 1,tuple(range(number % 100))::Tuple(b3v1 Array(UInt64))::Dynamic, number % 15 < 3,tuple(range(number % 100))::Tuple(b3v2 Array(UInt64))::Dynamic, number % 15 < 6,tuple(range(number % 100))::Tuple(b3v3 Array(UInt64))::Dynamic, number % 15 < 10,tuple(range(number % 100))::Tuple(b3v4 Array(UInt64))::Dynamic,tuple(range(number % 100))::Tuple(b3v5 Array(UInt64))::Dynamic), number % 15000 < 10000, multiIf(number % 15 < 1,tuple(range(number % 100))::Tuple(b4v1 Array(UInt64))::Dynamic, number % 15 < 3,tuple(range(number % 100))::Tuple(b4v2 Array(UInt64))::Dynamic, number % 15 < 6,tuple(range(number % 100))::Tuple(b4v3 Array(UInt64))::Dynamic, number % 15 < 10,tuple(range(number % 100))::Tuple(b4v4 Array(UInt64))::Dynamic,tuple(range(number % 100))::Tuple(b4v5 Array(UInt64))::Dynamic), multiIf(number % 15 < 1,tuple(range(number % 100))::Tuple(b5v1 Array(UInt64))::Dynamic, number % 15 < 3,tuple(range(number % 100))::Tuple(b5v2 Array(UInt64))::Dynamic, number % 15 < 6,tuple(range(number % 100))::Tuple(b5v3 Array(UInt64))::Dynamic, number % 15 < 10,tuple(range(number % 100))::Tuple(b5v4 Array(UInt64))::Dynamic,tuple(range(number % 100))::Tuple(b5v5 Array(UInt64))::Dynamic)) as res from numbers(1000000)]]>
|
||||
</fill_query>
|
||||
|
||||
<fill_query>
|
||||
<![CDATA[insert into src_dynamic_squash_performance_2 select multiIf(number % 15000 < 1000, multiIf(number % 15 < 1,tuple(range(number % 100))::Tuple(b1v1 Array(UInt64))::Dynamic(max_types=6), number % 15 < 3,tuple(range(number % 100))::Tuple(b1v2 Array(UInt64))::Dynamic(max_types=6), number % 15 < 6,tuple(range(number % 100))::Tuple(b1v3 Array(UInt64))::Dynamic(max_types=6), number % 15 < 10,tuple(range(number % 100))::Tuple(b1v4 Array(UInt64))::Dynamic(max_types=6),tuple(range(number % 100))::Tuple(b1v5 Array(UInt64))::Dynamic(max_types=6)), number % 15000 < 3000, multiIf(number % 15 < 1,tuple(range(number % 100))::Tuple(b2v1 Array(UInt64))::Dynamic(max_types=6), number % 15 < 3,tuple(range(number % 100))::Tuple(b2v2 Array(UInt64))::Dynamic(max_types=6), number % 15 < 6,tuple(range(number % 100))::Tuple(b2v3 Array(UInt64))::Dynamic(max_types=6), number % 15 < 10,tuple(range(number % 100))::Tuple(b2v4 Array(UInt64))::Dynamic(max_types=6),tuple(range(number % 100))::Tuple(b2v5 Array(UInt64))::Dynamic(max_types=6)), number % 15000 < 6000, multiIf(number % 15 < 1,tuple(range(number % 100))::Tuple(b3v1 Array(UInt64))::Dynamic(max_types=6), number % 15 < 3,tuple(range(number % 100))::Tuple(b3v2 Array(UInt64))::Dynamic(max_types=6), number % 15 < 6,tuple(range(number % 100))::Tuple(b3v3 Array(UInt64))::Dynamic(max_types=6), number % 15 < 10,tuple(range(number % 100))::Tuple(b3v4 Array(UInt64))::Dynamic(max_types=6),tuple(range(number % 100))::Tuple(b3v5 Array(UInt64))::Dynamic(max_types=6)), number % 15000 < 10000, multiIf(number % 15 < 1,tuple(range(number % 100))::Tuple(b4v1 Array(UInt64))::Dynamic(max_types=6), number % 15 < 3,tuple(range(number % 100))::Tuple(b4v2 Array(UInt64))::Dynamic(max_types=6), number % 15 < 6,tuple(range(number % 100))::Tuple(b4v3 Array(UInt64))::Dynamic(max_types=6), number % 15 < 10,tuple(range(number % 100))::Tuple(b4v4 Array(UInt64))::Dynamic(max_types=6),tuple(range(number % 100))::Tuple(b4v5 Array(UInt64))::Dynamic(max_types=6)), multiIf(number % 15 < 1,tuple(range(number % 100))::Tuple(b5v1 Array(UInt64))::Dynamic(max_types=6), number % 15 < 3,tuple(range(number % 100))::Tuple(b5v2 Array(UInt64))::Dynamic(max_types=6), number % 15 < 6,tuple(range(number % 100))::Tuple(b5v3 Array(UInt64))::Dynamic(max_types=6), number % 15 < 10,tuple(range(number % 100))::Tuple(b5v4 Array(UInt64))::Dynamic(max_types=6),tuple(range(number % 100))::Tuple(b5v5 Array(UInt64))::Dynamic(max_types=6))) as res from numbers(1000000)]]>
|
||||
</fill_query>
|
||||
|
||||
|
||||
<query>INSERT INTO dynamic_squash_performance_1 SELECT number::Dynamic FROM numbers(10000000)</query>
|
||||
<query>INSERT INTO dynamic_squash_performance_1 SELECT range(number % 100)::Dynamic FROM numbers(2000000)</query>
|
||||
<query>INSERT INTO dynamic_squash_performance_1 SELECT * FROM src_dynamic_squash_performance_1</query>
|
||||
<query>INSERT INTO dynamic_squash_performance_2 SELECT * FROM src_dynamic_squash_performance_2</query>
|
||||
|
||||
<drop_query>DROP TABLE IF EXISTS dynamic_squash_performance_1</drop_query>
|
||||
<drop_query>DROP TABLE IF EXISTS dynamic_squash_performance_2</drop_query>
|
||||
<drop_query>DROP TABLE IF EXISTS src_dynamic_squash_performance_1</drop_query>
|
||||
<drop_query>DROP TABLE IF EXISTS src_dynamic_squash_performance_2</drop_query>
|
||||
</test>
|
||||
|
34
tests/performance/insert_select_squashing_variant.xml
Normal file
34
tests/performance/insert_select_squashing_variant.xml
Normal file
@ -0,0 +1,34 @@
|
||||
<test>
|
||||
<settings>
|
||||
<max_block_size>1000</max_block_size>
|
||||
<enable_named_columns_in_function_tuple>0</enable_named_columns_in_function_tuple>
|
||||
<allow_experimental_variant_type>1</allow_experimental_variant_type>
|
||||
<allow_suspicious_variant_types>1</allow_suspicious_variant_types>
|
||||
</settings>
|
||||
|
||||
<create_query>
|
||||
CREATE TABLE variant_squash_performance
|
||||
(
|
||||
v Variant(Tuple(v1 Array(UInt64)), Tuple(v2 Array(UInt64)), Tuple(v3 Array(UInt64)), Tuple(v4 Array(UInt64)), Tuple(v5 Array(UInt64)))
|
||||
)
|
||||
ENGINE = Null;
|
||||
</create_query>
|
||||
|
||||
<create_query>
|
||||
CREATE TABLE src_variant_squash_performance
|
||||
(
|
||||
v Variant(Tuple(v1 Array(UInt64)), Tuple(v2 Array(UInt64)), Tuple(v3 Array(UInt64)), Tuple(v4 Array(UInt64)), Tuple(v5 Array(UInt64)))
|
||||
)
|
||||
ENGINE = Memory;
|
||||
</create_query>
|
||||
|
||||
<fill_query>
|
||||
<![CDATA[insert into src_variant_squash_performance with 'Variant(Tuple(v1 Array(UInt64)), Tuple(v2 Array(UInt64)), Tuple(v3 Array(UInt64)), Tuple(v4 Array(UInt64)), Tuple(v5 Array(UInt64)))' as variant_type select multiIf(number % 15 < 1, CAST(tuple(range(number % 100))::Tuple(v1 Array(UInt64)), variant_type), number % 15 < 3, CAST(tuple(range(number % 100))::Tuple(v2 Array(UInt64)), variant_type), number % 15 < 6, CAST(tuple(range(number % 100))::Tuple(v3 Array(UInt64)), variant_type), number % 15 < 10, CAST(tuple(range(number % 100))::Tuple(v4 Array(UInt64)), variant_type), CAST(tuple(range(number % 100))::Tuple(v5 Array(UInt64)), variant_type)) from numbers(1000000)]]>
|
||||
</fill_query>
|
||||
|
||||
<query>INSERT INTO variant_squash_performance SELECT * FROM src_variant_squash_performance</query>
|
||||
|
||||
<drop_query>DROP TABLE IF EXISTS variant_squash_performance</drop_query>
|
||||
<drop_query>DROP TABLE IF EXISTS src_variant_squash_performance</drop_query>
|
||||
</test>
|
||||
|
Loading…
Reference in New Issue
Block a user