should be it

This commit is contained in:
2025-10-24 19:21:19 -05:00
parent a4b23fc57c
commit f09560c7b1
14047 changed files with 3161551 additions and 1 deletions

View 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;

View 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

View 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;

View 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;