Skip to content

Commit

Permalink
Add stacked materialized CTEs micro benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
kryonix committed Apr 30, 2024
1 parent b20894d commit 3fcb18d
Showing 1 changed file with 71 additions and 0 deletions.
71 changes: 71 additions & 0 deletions benchmark/micro/cte/stacked_materialized_cte.benchmark
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# name: benchmark/micro/cte/stacked_materialized_cte.benchmark
# description: Benchmark of stacked materialized CTEs
# group: [cte]

name Stacked Materialized CTE
group micro
subgroup cte

load
create table t1 as select range id from range(1000000);

run
with
mat_t1 as materialized (select * from t1),
mat_t2 as materialized (select * from mat_t1),
mat_t3 as materialized (select * from mat_t2 where id not in (
select id % 20 from mat_t2
)),
mat_t4 as materialized (select * from mat_t1 where id not in (
select (id % 20) + 20 from mat_t2
UNION ALL
select (id % 20) + 40 from mat_t3
)),
mat_t5 as materialized (select * from mat_t1 where id not in (
select (id % 20) + 20 from mat_t2
UNION ALL
select (id % 20) + 40 from mat_t3
UNION ALL
select (id % 20) + 60 from mat_t4
)),
mat_t6 as materialized (select * from mat_t1 where id not in (
select (id % 20) + 20 from mat_t2
UNION ALL
select (id % 20) + 40 from mat_t3
UNION ALL
select (id % 20) + 60 from mat_t4
UNION ALL
select (id % 20) + 80 from mat_t5
)),
mat_t7 as materialized (select * from mat_t1 where id not in (
select (id % 20) + 20 from mat_t2
UNION ALL
select (id % 20) + 40 from mat_t3
UNION ALL
select (id % 20) + 60 from mat_t4
UNION ALL
select (id % 20) + 80 from mat_t5
UNION ALL
select (id % 20) + 80 from mat_t6
)),
mat_t8 as materialized (select * from mat_t1 where id not in (
select (id % 20) + 20 from mat_t2
UNION ALL
select (id % 20) + 40 from mat_t3
UNION ALL
select (id % 20) + 60 from mat_t4
UNION ALL
select (id % 20) + 80 from mat_t5
UNION ALL
select (id % 20) + 80 from mat_t6
UNION ALL
select (id % 20) + 80 from mat_t7
))
Select * from mat_t1 UNION ALL
select * from mat_t2 UNION ALL
select * from mat_t3 UNION ALL
select * from mat_t4 UNION ALL
select * from mat_t5 UNION ALL
select * from mat_t6 UNION ALL
select * from mat_t7 UNION ALL
select * from mat_t8;

0 comments on commit 3fcb18d

Please sign in to comment.