30 lines
724 B
Plaintext
30 lines
724 B
Plaintext
# name: benchmark/micro/join/iejoin_selectivity.benchmark
|
|
# description: Mixed predicate where range is faster
|
|
# group: [join]
|
|
|
|
name IEJoin Selectivity
|
|
group join
|
|
|
|
load
|
|
SELECT SETSEED(0.8675309);
|
|
PRAGMA prefer_range_joins=False;
|
|
CREATE TABLE df AS
|
|
SELECT
|
|
(random() * 1000)::INTEGER + 1 as id,
|
|
(random() * 10)::INTEGER + 1 as id2,
|
|
(random() * 500)::INTEGER + 1 as id3,
|
|
random() as value,
|
|
FROM range(5000000);
|
|
|
|
run
|
|
SELECT id2, id3, id3_right, corr(value, value_right) as value
|
|
FROM (
|
|
SELECT df.*, df2.id3 as id3_right, df2.value as value_right
|
|
FROM df JOIN df as df2
|
|
ON (df.id = df2.id
|
|
AND df.id2 = df2.id2
|
|
AND df.id3 > df2.id3
|
|
AND df.id3 < df2.id3 + 30)
|
|
) tbl
|
|
GROUP BY ALL
|