115 lines
8.9 KiB
Plaintext
115 lines
8.9 KiB
Plaintext
# name: benchmark/micro/join/many_left_joins.benchmark
|
|
# description: Optimizer benchmark to ensure joins are not over-optimized
|
|
# group: [join]
|
|
|
|
group micro
|
|
subgroup join
|
|
|
|
load
|
|
CREATE TABLE t1(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, info VARCHAR);
|
|
CREATE TABLE t10(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t11(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t12(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t13(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t14(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t15(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t16(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t17(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t18(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t19(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t2(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t20(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t21(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t22(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t23(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t24(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t25(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t26(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t27(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t28(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t29(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t3(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t30(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t31(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t32(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t33(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t34(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t35(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t36(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t37(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t38(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t39(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t4(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t40(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t41(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t42(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t43(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t44(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t45(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t46(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t47(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t48(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t5(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t6(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t7(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t8(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
CREATE TABLE t9(c1 INTEGER NOT NULL, c2 INTEGER, c3 INTEGER, c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, c8 INTEGER, c9 INTEGER, info VARCHAR);
|
|
|
|
# If operators are unnecessarily re-optimized, this query will take forever and most likely timeout the test-runner
|
|
run
|
|
select t1.c2 from t1
|
|
inner join t2 on (t1.c2=t2.c1)
|
|
left join t4 on (t1.c3=t4.c1)
|
|
left join t5 on (t4.c2=t5.c1)
|
|
left join t6 on (t5.c2=t6.c1)
|
|
left join t7 on (t6.c2=t7.c1)
|
|
left join t8 on (t7.c2=t8.c1)
|
|
left join t9 on (t8.c2=t9.c1)
|
|
left join t10 on (t9.c2=t10.c1)
|
|
left join t11 on (t10.c2=t11.c1)
|
|
left join t12 on (t11.c2=t12.c1)
|
|
left join t13 on (t12.c2=t13.c1)
|
|
left join t14 on (t13.c2=t14.c1)
|
|
left join t15 on (t14.c2=t15.c1)
|
|
left join t16 on (t15.c2=t16.c1)
|
|
left join t17 on (t16.c2=t17.c1)
|
|
left join t18 on (t17.c2=t18.c1)
|
|
left join t19 on (t18.c2=t19.c1)
|
|
left join t20 on (t19.c2=t20.c1)
|
|
left join t21 on (t20.c2=t21.c1)
|
|
left join t22 on (t21.c2=t22.c1)
|
|
left join t23 on (t22.c2=t23.c1)
|
|
left join t24 on (t23.c2=t24.c1)
|
|
left join t25 on (t24.c2=t25.c1)
|
|
left join t26 on (t25.c2=t26.c1)
|
|
left join t27 on (t26.c2=t27.c1)
|
|
left join t28 on (t27.c2=t28.c1)
|
|
left join t29 on (t28.c2=t29.c1)
|
|
left join t30 on (t29.c2=t30.c1)
|
|
left join t31 on (t30.c2=t31.c1)
|
|
left join t32 on (t31.c2=t32.c1)
|
|
left join t33 on (t32.c2=t33.c1)
|
|
left join t34 on (t33.c2=t34.c1)
|
|
left join t35 on (t34.c2=t35.c1)
|
|
left join t36 on (t35.c2=t36.c1)
|
|
left join t37 on (t36.c2=t37.c1)
|
|
left join t38 on (t37.c2=t38.c1)
|
|
left join t39 on (t38.c2=t39.c1)
|
|
left join t3 ttttt3 on (ttttt3.c6=t33.c5)
|
|
left join t40 on (t39.c2=t40.c1)
|
|
left join t41 on (t40.c2=t41.c1)
|
|
left join t42 on (t41.c2=t42.c1)
|
|
left join t43 on (t42.c2=t43.c1)
|
|
left join t44 on (t43.c2=t44.c1)
|
|
left join t45 on (t44.c2=t45.c1)
|
|
left join t46 on (t45.c2=t46.c1)
|
|
left join t47 on (t46.c2=t47.c1)
|
|
left join t48 on (t47.c2=t48.c1)
|
|
left join t5 ttt5 on (t42.c1=ttt5.c3)
|
|
left join t5 ttt6 on (ttt5.c4=ttt6.c5)
|
|
left join t5 ttt7 on (ttt6.c6=ttt7.c7)
|
|
inner join t3 on (t2.c2=t3.c1)
|
|
left join t4 tt4 on (t47.c1=tt4.c3)
|
|
left join t4 tt5 on (tt4.c4=tt5.c5);
|
|
|
|
result I |