should be it
This commit is contained in:
16
external/duckdb/benchmark/micro/optimizer/topn_large_optimization.benchmark
vendored
Normal file
16
external/duckdb/benchmark/micro/optimizer/topn_large_optimization.benchmark
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
# name: benchmark/micro/optimizer/topn_large_optimization.benchmark
|
||||
# description: Benchmark of top n optimization
|
||||
# group: [optimizer]
|
||||
|
||||
name TopN Optimization
|
||||
group micro
|
||||
subgroup optimizer
|
||||
|
||||
load
|
||||
CREATE TABLE integers AS SELECT range a FROM range(100000000) order by hash(a);
|
||||
|
||||
run
|
||||
select * from integers order by a limit 500;
|
||||
select * from integers order by a limit 5000;
|
||||
select * from integers order by a limit 50000;
|
||||
select * from integers order by a limit 12800000;
|
||||
14
external/duckdb/benchmark/micro/optimizer/topn_optimization.benchmark
vendored
Normal file
14
external/duckdb/benchmark/micro/optimizer/topn_optimization.benchmark
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
# name: benchmark/micro/optimizer/topn_optimization.benchmark
|
||||
# description: Benchmark of top n optimization
|
||||
# group: [optimizer]
|
||||
|
||||
name TopN Optimization
|
||||
group micro
|
||||
subgroup optimizer
|
||||
|
||||
load
|
||||
CREATE TABLE integers AS SELECT * FROM range(100000000) tbl(i);
|
||||
CREATE TABLE other_table AS SELECT 337 i UNION ALL SELECT 948247 UNION ALL SELECT 17797934 UNION ALL SELECT 99999998 UNION ALL SELECT 99999999
|
||||
|
||||
run
|
||||
SELECT * FROM integers WHERE i IN (SELECT * FROM other_table) ORDER BY i LIMIT 4
|
||||
23
external/duckdb/benchmark/micro/optimizer/topn_window_elimination.benchmark
vendored
Normal file
23
external/duckdb/benchmark/micro/optimizer/topn_window_elimination.benchmark
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
# name: benchmark/micro/optimizer/topn_window_elimination.benchmark
|
||||
# description: Benchmark of top n window elimination
|
||||
# group: [optimizer]
|
||||
|
||||
name TopN Window Elimination
|
||||
group micro
|
||||
subgroup optimizer
|
||||
|
||||
load
|
||||
CREATE TABLE metrics AS (
|
||||
SELECT k, '2001-01-01 00:00:00'::TIMESTAMP + INTERVAL (v) MINUTE AS tm, v AS v1, v % 1000 AS v2, v % 100 as v3
|
||||
FROM range(0,100000) vals(v), range(0,100) keys(k)
|
||||
);
|
||||
CREATE TABLE tags AS (
|
||||
SELECT k, CAST(hash(k+1) AS VARCHAR) t1, CAST(hash(k+2) AS VARCHAR) t2, CAST(hash(k+3) AS VARCHAR) t3,
|
||||
FROM range(0,100) keys(k)
|
||||
);
|
||||
|
||||
run
|
||||
SELECT * FROM tags t INNER JOIN LATERAL (SELECT * FROM metrics m WHERE m.k = t.k ORDER BY tm DESC LIMIT 1) AS b ON true ORDER BY t.k, b.tm DESC;
|
||||
SELECT * FROM tags t INNER JOIN LATERAL (SELECT * FROM metrics m WHERE m.k = t.k ORDER BY tm DESC LIMIT 3) AS b ON true ORDER BY t.k, b.tm DESC;
|
||||
SELECT * FROM tags t, (SELECT *, row_number() OVER (PARTITION BY m.k ORDER BY m.tm DESC) rn FROM metrics m QUALIFY rn <= 1) m WHERE t.k = m.k;
|
||||
SELECT * FROM tags t, (SELECT *, row_number() OVER (PARTITION BY m.k ORDER BY m.tm DESC) rn FROM metrics m QUALIFY rn <= 3) m WHERE t.k = m.k;
|
||||
14
external/duckdb/benchmark/micro/optimizer/unnest_join_filter_pushdown.benchmark
vendored
Normal file
14
external/duckdb/benchmark/micro/optimizer/unnest_join_filter_pushdown.benchmark
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
# name: benchmark/micro/optimizer/unnest_join_filter_pushdown.benchmark
|
||||
# description: Benchmark filter pushdown with unnest
|
||||
# group: [optimizer]
|
||||
|
||||
name Unnest Filter Pushdown
|
||||
group micro
|
||||
subgroup optimizer
|
||||
|
||||
load
|
||||
CREATE TABLE test_table as
|
||||
SELECT s.i as id, [1, 2, 3]::bigint[] AS VALUES FROM generate_series(1, 10000000) AS s(i);
|
||||
|
||||
run
|
||||
SELECT id, value FROM test_table CROSS JOIN UNNEST(values) AS values(value) WHERE id = 87100;
|
||||
Reference in New Issue
Block a user