ClickHouse/tests/performance/sum.xml
2024-02-04 15:55:22 +08:00

38 lines
2.4 KiB
XML

<test>
<query>SELECT sum(number) FROM numbers(100000000)</query>
<query>SELECT sum(toUInt32(number)) FROM numbers(100000000)</query>
<query>SELECT sum(toUInt16(number)) FROM numbers(100000000)</query>
<query>SELECT sum(toUInt8(number)) FROM numbers(100000000)</query>
<query>SELECT sum(toFloat32(number)) FROM numbers(100000000)</query>
<query>SELECT sum(toFloat64(number)) FROM numbers(100000000)</query>
<query>SELECT sumKahan(toFloat32(number)) FROM numbers(100000000)</query>
<query>SELECT sumKahan(toFloat64(number)) FROM numbers(100000000)</query>
<query>SELECT sum(toNullable(number)) FROM numbers(100000000)</query>
<query>SELECT sum(toNullable(toUInt32(number))) FROM numbers(100000000)</query>
<query>SELECT sum(toNullable(toUInt16(number))) FROM numbers(100000000)</query>
<query>SELECT sum(toNullable(toUInt8(number))) FROM numbers(100000000)</query>
<query>SELECT sum(toNullable(toFloat32(number))) FROM numbers(100000000)</query>
<query>SELECT sum(toNullable(toFloat64(number))) FROM numbers(100000000)</query>
<query>SELECT sumKahan(toNullable(toFloat32(number))) FROM numbers(100000000)</query>
<query>SELECT sumKahan(toNullable(toFloat64(number))) FROM numbers(100000000)</query>
<query>select sumIf(number::Decimal128(3), rand32() % 2 = 0) from numbers(100000000)</query>
<query>select sumIf(number::Decimal256(3), rand32() % 2 = 0) from numbers(100000000)</query>
<query>select sumIf(number::Int128, rand32() % 2 = 0) from numbers(100000000)</query>
<query>select sumIf(number::UInt128, rand32() % 2 = 0) from numbers(100000000)</query>
<query>select sumIf(number::Int256, rand32() % 2 = 0) from numbers(100000000)</query>
<query>select sumIf(number::UInt256, rand32() % 2 = 0) from numbers(100000000)</query>
<!-- Create a table with ~20% null values. Make it random so the branch predictor doesn't do all the work -->
<create_query>CREATE TABLE nullfloat32 (x Nullable(Float32)) ENGINE = Memory</create_query>
<fill_query>INSERT INTO nullfloat32
SELECT IF(rand() % 5 == 0, NULL::Nullable(Float32), toFloat32(number)) as x
FROM numbers_mt(200000000)
SETTINGS max_threads = 8
</fill_query>
<query short="1">SELECT sum(x) FROM nullfloat32</query>
<query short="1">SELECT sum(x::Nullable(Float64)) FROM nullfloat32</query>
<drop_query>DROP TABLE IF EXISTS nullfloat32</drop_query>
</test>