PlannerIMDB — JOB-31B

SELECT MIN(mi.info) AS movie_budget,
       MIN(mi_idx.info) AS movie_votes,
       MIN(n.name) AS writer,
       MIN(t.title) AS violent_liongate_movie
FROM job.cast_info AS ci,
     job.company_name AS cn,
     job.info_type AS it1,
     job.info_type AS it2,
     job.keyword AS k,
     job.movie_companies AS mc,
     job.movie_info AS mi,
     job.movie_info_idx AS mi_idx,
     job.movie_keyword AS mk,
     job.name AS n,
     job.title AS t
WHERE ci.note IN ('(writer)',
                  '(head writer)',
                  '(written by)',
                  '(story)',
                  '(story editor)')
  AND cn.name LIKE 'Lionsgate%'
  AND it1.info = 'genres'
  AND it2.info = 'votes'
  AND k.keyword IN ('murder',
                    'violence',
                    'blood',
                    'gore',
                    'death',
                    'female-nudity',
                    'hospital')
  AND mc.note LIKE '%(Blu-ray)%'
  AND mi.info IN ('Horror',
                  'Thriller')
  AND n.gender = 'm'
  AND t.production_year > 2000
  AND (t.title LIKE '%Freddy%'
       OR t.title LIKE '%Jason%'
       OR t.title LIKE 'Saw%')
  AND t.id = mi.movie_id
  AND t.id = mi_idx.movie_id
  AND t.id = ci.movie_id
  AND t.id = mk.movie_id
  AND t.id = mc.movie_id
  AND ci.movie_id = mi.movie_id
  AND ci.movie_id = mi_idx.movie_id
  AND ci.movie_id = mk.movie_id
  AND ci.movie_id = mc.movie_id
  AND mi.movie_id = mi_idx.movie_id
  AND mi.movie_id = mk.movie_id
  AND mi.movie_id = mc.movie_id
  AND mi_idx.movie_id = mk.movie_id
  AND mi_idx.movie_id = mc.movie_id
  AND mk.movie_id = mc.movie_id
  AND n.id = ci.person_id
  AND it1.id = mi.info_type_id
  AND it2.id = mi_idx.info_type_id
  AND k.id = mk.keyword_id
  AND cn.id = mc.company_id;

Engine Compare

Accuracy chart, rows processed ?
Scan
Scan
Seek
Seek
Join Probe
Join
Sort
Sort
Hash Build
Hash
Aggregate
Agg
Distribute
Dist
Native storage
Estimation Error
Est Err
5,904,149
5.9M
Rank
Estimation Error
Est Err
5,904,381
5.9M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
5,851
5.9K
Rank
Estimation Error
Est Err
84
84
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
58,866,286
59M
Rank
Estimation Error
Est Err
71,138,749
71M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
31,719,695
32M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
8,702,034
8.7M
Rank
Estimation Error
Est Err
5,718,611
5.7M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
3,283,229
3.3M
Rank
Estimation Error
Est Err
86
86
Rank
Estimation Error
Est Err
3,133,738
3.1M
Rank
Apache Iceberg
Estimation Error
Est Err
27,845,180
28M
Rank
Estimation Error
Est Err
8,117,506
8.1M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
20,807
21K
Rank
Estimation Error
Est Err
94
94
Rank
Estimation Error
Est Err
1,460,109
1.5M
Rank
Native storage
Estimation Error
Est Err
462,006
462K
Rank
Estimation Error
Est Err
462,979
463K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
924,334
924K
Rank
Estimation Error
Est Err
84
84
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
154,505
155K
Rank
Estimation Error
Est Err
154,505
155K
Rank
Estimation Error
Est Err
154,499
154K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
154,499
154K
Rank
Estimation Error
Est Err
84
84
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
220,144
220K
Rank
Estimation Error
Est Err
220,134
220K
Rank
Estimation Error
Est Err
237,897
238K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
220,134
220K
Rank
Estimation Error
Est Err
84
84
Rank
Estimation Error
Est Err
0
Rank
Apache Iceberg
Estimation Error
Est Err
1,740,228
1.7M
Rank
Estimation Error
Est Err
436
436
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
1,740,380
1.7M
Rank
Estimation Error
Est Err
100
100
Rank
Estimation Error
Est Err
1,740,234
1.7M
Rank

Actual Query Plans

Query Plan per Engine ?
Query Plan
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE min, min, min, min
       1        84  INNER JOIN HASH ON id = info_type_id
       1         1  │└TABLE SCAN info_type WHERE info = genres
       1        84  INNER JOIN HASH ON id88 = keyword_id
       7      2686  │└INNER JOIN HASH ON movie_id75 = movie_id83
       1        19   │└INNER JOIN HASH ON id6 = info_type_id76
       1         1    │└TABLE SCAN info_type WHERE info = votes
       2        57    INNER JOIN HASH ON movie_id75 = movie_id
       1        19    │└INNER JOIN HASH ON id62 = person_id
       1        19     │└INNER JOIN HASH ON movie_id54 = movie_id
       1        11      │└INNER JOIN HASH ON movie_id45 = movie_id
       1         7       │└INNER JOIN HASH ON id29 = movie_id
       7       135        │└INNER JOIN HASH ON id11 = company_id
     159        10         │└TABLE SCAN company_name WHERE name) Lionsgate
   10191       135         TABLE SCAN movie_companies WHERE note LIKE '%(Blu-ray)%'
    1330         6        TABLE SCAN title WHERE production_year >= 2001 AND title LIKE '%Freddy%' OR title LIKE '%Jason%'
  144880         9       TABLE SCAN movie_info WHERE info47 IN(Horror,Thriller)
 1274215        10      TABLE SCAN cast_info WHERE note BETWEEN (head writer) AND (written by) AND note56 IN((head writer),(story editor),story,writer,(written by))
 1778509         6     TABLE SCAN name WHERE gender = m
 1380035   1380035    TABLE SCAN movie_info_idx
 4523930   4523930   TABLE SCAN movie_keyword
     131         6  TABLE SCAN keyword WHERE keyword BETWEEN blood AND violence AND keyword IN(blood,death,female - nudity,gore,hospital,murder,violence)
Native storage
Estimate    Actual  Operator
       -         1  PROJECT a1 AS movie_budget, a2 AS movie_votes, a3 AS writer, a4 AS violent_liongate_movie
       -         1  AGGREGATE MIN(info_right) AS a1, MIN(info_left) AS a2, MIN(name) AS a3, MIN(title) AS a4
       -         0  PROJECT info, info, name, title
       -         0  PROJECT info, info, name, title
       -         0  INNER JOIN HASH ON tuple(PROJECTION_4470.movie_id,PROJECTION_4470.movie_id,PROJECTION_4470.movie_id,PROJECTION_4470.movie_id,PROJECTION_4470.movie_id,PROJECTION_4470.movie_id,PROJECTION_4470.id,PROJECTION_4470.id) = tuple(PROJECTION_4449.movie_id,PROJECTION_4449.movie_id,PROJECTION_4449.movie_id,PROJECTION_4449.movie_id,PROJECTION_4449.movie_id,PROJECTION_4449.movie_id,PROJECTION_4449.movie_id,PROJECTION_4449.movie_id)
       -   8855087  │└PROJECT movie_id_right, movie_id AS movie_id_right_2, info AS info_right
       -   8855087   PROJECT info, movie_id, movie_id
       -   8855087   INNER JOIN HASH ON PROJECTION_4455.keyword_id = PROJECTION_4452.id
       -    134170   │└PROJECT id
       -    134170    PROJECT id
       -    134170    TABLE SCAN keyword WHERE TRUE
       -   8855087   PROJECT keyword_id, info, movie_id, movie_id
       -   8855087   PROJECT info, movie_id, movie_id, keyword_id
       -   8855087   INNER JOIN HASH ON PROJECTION_4461.movie_id = PROJECTION_4458.movie_id
       -   4523930   │└PROJECT movie_id AS movie_id_right, keyword_id
       -   4523930    PROJECT movie_id, keyword_id
       -   4523930    TABLE SCAN movie_keyword
       -   1533909   PROJECT movie_id AS movie_id_left, info
       -   1533909   PROJECT info, movie_id
       -   1533909   INNER JOIN HASH ON PROJECTION_4467.info_type_id = PROJECTION_4464.id
       -         1   │└PROJECT id
       -         1    PROJECT id
       -         1    TABLE SCAN info_type WHERE info = 'genres'
       -  14835720   PROJECT info_type_id, info, movie_id
       -  14835720   PROJECT movie_id, info, info_type_id
       -  14835720   TABLE SCAN movie_info WHERE TRUE
       -       307  PROJECT movie_id AS movie_id_left, movie_id AS movie_id_left_2, movie_id AS movie_id_left_3, id, info AS info_left, name, title
       -       307  PROJECT movie_id, movie_id, info, movie_id, name, title, id
       -       307  INNER JOIN HASH ON tuple(PROJECTION_4488.movie_id,PROJECTION_4488.movie_id,PROJECTION_4488.movie_id,PROJECTION_4488.movie_id) = tuple(PROJECTION_4473.movie_id,PROJECTION_4473.movie_id,PROJECTION_4473.id,PROJECTION_4473.id)
       -       101  │└PROJECT movie_id AS movie_id_right, id, info, title
       -       101   PROJECT info, movie_id, title, id
       -       101   INNER JOIN HASH ON PROJECTION_4485.id = PROJECTION_4476.movie_id
       -    459925   │└PROJECT movie_id, info
       -    459925    PROJECT info, movie_id
       -    459925    INNER JOIN HASH ON PROJECTION_4482.info_type_id = PROJECTION_4479.id
       -         1    │└PROJECT id
       -         1     PROJECT id
       -         1     TABLE SCAN info_type WHERE info = 'votes'
       -   1380035    PROJECT info_type_id, info, movie_id
       -   1380035    PROJECT info, movie_id, info_type_id
       -   1380035    TABLE SCAN movie_info_idx
       -       533   PROJECT id, title
       -       533   PROJECT id, title
       -       533   TABLE SCAN title WHERE (production_year > 2000) AND (title LIKE '%Freddy%' OR title LIKE '%Jason%' OR startsWith(title,'Saw'))
       -      6847  PROJECT movie_id_left, movie_id AS movie_id_left_2, name
       -      6847  PROJECT movie_id, movie_id, name
       -      6847  INNER JOIN HASH ON PROJECTION_4494.person_id = PROJECTION_4491.id
       -   1739579  │└PROJECT id, name
       -   1739579   PROJECT id, name
       -   1739579   TABLE SCAN name WHERE gender = 'm'
       -     15527  PROJECT person_id, movie_id, movie_id
       -     15527  PROJECT movie_id, person_id, movie_id
       -     15527  INNER JOIN HASH ON PROJECTION_4500.company_id = PROJECTION_4497.id
       -        10  │└PROJECT id
       -        10   PROJECT id
       -        10   TABLE SCAN company_name WHERE startsWith(name,'Lionsgate')
       -    945262  PROJECT company_id, movie_id, person_id, movie_id
       -    945262  PROJECT movie_id, person_id, movie_id, company_id
       -    945262  INNER JOIN HASH ON PROJECTION_4506.movie_id = PROJECTION_4503.movie_id
       -      7963  │└PROJECT movie_id AS movie_id_right, company_id
       -      7963   PROJECT movie_id, company_id
       -      7963   TABLE SCAN movie_companies WHERE note LIKE '%(Blu-ray)%'
       -  36244344  PROJECT movie_id AS movie_id_left, person_id
       -  36244344  PROJECT movie_id, person_id
       -  36244344  TABLE SCAN cast_info WHERE TRUE
Native storage
Estimate    Actual  Operator
       -         1  AGGREGATE MIN(#0), MIN(#1), MIN(#2), MIN(#3)
       2        84  PROJECT info, info, name, title
       2        84  INNER JOIN HASH ON id = person_id
       4        84  │└INNER JOIN HASH ON movie_id = id
       1        46   │└INNER JOIN HASH ON id = keyword_id
       8      1504    │└INNER JOIN HASH ON movie_id = movie_id
       4        11     │└INNER JOIN HASH ON info_type_id = id
       2         1      │└FILTER id <= 110
       2         1       TABLE SCAN info_type WHERE info = 'genres'
     249        11      INNER JOIN HASH ON movie_id = movie_id
     208         7      │└INNER JOIN HASH ON id = company_id
    1044        19       │└INNER JOIN HASH ON movie_id = movie_id
    4972       101        │└INNER JOIN HASH ON id = movie_id
   24425    459917         │└INNER JOIN HASH ON info_type_id = id
       2         1          │└FILTER id >= 99
       2         1           TABLE SCAN info_type WHERE info = 'votes'
 1380035    459917          TABLE SCAN movie_info_idx WHERE movie_id <= 2525745
  505662       102         FILTER id BETWEEN 2 AND 2525745
  505662       102         TABLE SCAN title WHERE production_year > 2000 AND (contains(title,'Freddy') OR contains(title,'Jason') OR prefix(title,'Saw'))
  521825        31        TABLE SCAN movie_companies WHERE contains(note,'(Blu-ray)')
   46999         3       TABLE SCAN company_name WHERE name >= 'Lionsgate' AND name < 'Lionsgatf'
14835720         9      FILTER (movie_id BETWEEN 2 AND 2525745) AND ((info = 'Horror') OR (info = 'Thriller'))
14835720        19      TABLE SCAN movie_info WHERE info IN('Horror','Thriller')
 4523930       714     TABLE SCAN movie_keyword WHERE movie_id <= 2525745
   26834         6    FILTER IN ...
  134170       520    INNER JOIN HASH ON keyword = #0
       0         7    │└SCAN MATERIALISED
  134170       520    TABLE SCAN keyword WHERE keyword IN('murder','violence','blood','gore','death','female-nudity','hospital')
 7248868        15   FILTER movie_id BETWEEN 2 AND 2525745
 7248868        15   FILTER IN ...
36244344       662   INNER JOIN HASH ON note = #0
       0         5   │└SCAN MATERIALISED
36244344       662   TABLE SCAN cast_info WHERE note IN('(writer)','(head writer)','(written by)','(story)','(story editor)')
 2083746        24  FILTER id <= 4061926
 2083746        24  TABLE SCAN "name" WHERE gender = 'm'
Apache Iceberg
Estimate    Actual  Operator
       1         1  PROJECT movie_budget, movie_votes, writer, violent_liongate_movie
       1         1  AGGREGATE MIN(info), MIN(info), MIN(name), MIN(title)
   26834        10  DISTRIBUTE GATHER
   26834        10  AGGREGATE MIN(info), MIN(info), MIN(name), MIN(title)
   26834        84  INNER JOIN HASH ON movie_id = id AND movie_id = id AND movie_id = id AND movie_id = id AND movie_id = id
   26834       227  │└DISTRIBUTE GATHER
   26834       227   INNER JOIN HASH ON person_id = id
   26834       254   │└DISTRIBUTE GATHER
   26834       254    INNER JOIN HASH ON id = keyword_id
   26834         7    │└DISTRIBUTE GATHER
   26834         7     FILTER keyword IN('murder','violence','blood','gore','death','female-nudity','hospital')
  134170    134170     DISTRIBUTE ROUND ROBIN
  134170    134170     TABLE SCAN keyword WHERE keyword IN('murder','violence','blood','gore','death','female-nudity','hospital')
  131720     11486    INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id AND movie_id = movie_id AND movie_id = movie_id
   73547        83    │└DISTRIBUTE GATHER
   73547        83     INNER JOIN HASH ON id = info_type_id
      23         1     │└DISTRIBUTE GATHER
      23         1      FILTER info = 'votes'
     113       113      DISTRIBUTE ROUND ROBIN
     113       113      TABLE SCAN info_type WHERE info = 'votes'
   73547       257     INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id AND movie_id = movie_id
   73547        83     │└DISTRIBUTE GATHER
   73547        83      INNER JOIN HASH ON id = info_type_id
      23         1      │└DISTRIBUTE GATHER
      23         1       FILTER info = 'genres'
     113       113       DISTRIBUTE ROUND ROBIN
     113       113       TABLE SCAN info_type WHERE info = 'genres'
  351748        83      INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id
  299503       100      │└DISTRIBUTE HASH ON movie_id, movie_id
  299503       100       INNER JOIN HASH ON id = company_id
   47000        10       │└DISTRIBUTE GATHER
   47000        10        FILTER name LIKE 'Lionsgate%'
  234997    234997        TABLE SCAN company_name WHERE name LIKE 'Lionsgate%'
 1497500      7151       PROJECT person_id, movie_id, movie_id, company_id
 1497500      7151       INNER JOIN HASH ON movie_id = movie_id
  521826      7963       │└DISTRIBUTE HASH ON movie_id
  521826      7963        FILTER note LIKE '%(Blu-ray)%'
 2609129   2609129        TABLE SCAN movie_companies WHERE note LIKE '%(Blu-ray)%' AND (((company_id >= 2653) AND (company_id <= 194377)) AND company_id IN(9863,2653,39981,65153,7253,7435,57326,3016,6473,194377))
 7248869   1244716       DISTRIBUTE HASH ON movie_id
 7248869   1244716       FILTER note IN('(writer)','(head writer)','(written by)','(story)','(story editor)')
36244344  15326137       TABLE SCAN cast_info WHERE note IN('(writer)','(head writer)','(written by)','(story)','(story editor)') AND CASE MOD(HASH_REPARTITION movie_id,10) WHEN 0 THEN (((movie_id >= 73574) AND (movie_id <= 2523338)) AND TRUE) WHEN 1 THEN (((movie_id >= 8969) AND (movie_id <= 2517488)) AND TRUE) WHEN 2 THEN (((movie_id >= 8982) AND (movie_id <= 2524105)) AND TRUE) WHEN 3 THEN (((movie_id >= 8962) AND (movie_id <= 2525010)) AND TRUE) WHEN 4 THEN (((movie_id >= 8...
 2967144     72258      DISTRIBUTE HASH ON movie_id, movie_id
 2967144     72258      FILTER (info = 'Horror') OR (info = 'Thriller')
14835720   1724005      TABLE SCAN movie_info WHERE (((info = 'Horror') OR (info = 'Thriller')) AND CASE MOD(HASH_REPARTITION(movie_id,movie_id),10) WHEN 1 THEN ((((movie_id >= 1673153) AND (movie_id <= 2452149)) AND ((movie_id >= 1673153) AND (movie_id <= 2452149))) AND struct(movie_id,movie_id) IN( < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr ...
 1380035   1010660     TABLE SCAN movie_info_idx WHERE (((((movie_id >= 1693872) AND (movie_id <= 2487658)) AND ((movie_id >= 1693872) AND (movie_id <= 2487658))) AND ((movie_id >= 1693872) AND (movie_id <= 2487658))) AND struct(movie_id,movie_id,movie_id) IN( < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr ...
 4523930   4031165    TABLE SCAN movie_keyword WHERE ((((((movie_id >= 1693872) AND (movie_id <= 2487658)) AND ((movie_id >= 1693872) AND (movie_id <= 2487658))) AND ((movie_id >= 1693872) AND (movie_id <= 2487658))) AND ((movie_id >= 1693872) AND (movie_id <= 2487658))) AND struct(movie_id,movie_id,movie_id,movie_id) IN( < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < ...
  833499   1739579   FILTER gender = 'm'
 4167491   1846761   TABLE SCAN name WHERE (gender = 'm') AND (((id >= 71482) AND (id <= 3201552)) AND id IN(400502,400502,1806914,1806914,1806914,1806914,2978121,3201552,1505509,2978121,3201552,1505509,1125977,1125977,238235,386222,238235,386222,228370,228370,228370,228370,291356,857898,291356,857898,291356,857898,1692203,655400,655405,1692203,655400,655405,1692203,655400,655405,1692203,655400,655405,1185775,1185775,3187874,3187874,1532980,1532980,1532980,1532980,71482,71482,1532980,15329...
  505663       151  FILTER (production_year > 2000) AND ((title LIKE '%Freddy%' OR title LIKE '%Jason%') OR title LIKE 'Saw%')
 2528312    927930  TABLE SCAN title WHERE ((production_year > 2000) AND ((title LIKE '%Freddy%' OR title LIKE '%Jason%') OR title LIKE 'Saw%')) AND (((((((id >= 1751226) AND (id <= 2487658)) AND ((id >= 1751226) AND (id <= 2487658))) AND ((id >= 1751226) AND (id <= 2487658))) AND ((id >= 1751226) AND (id <= 2487658))) AND ((id >= 1751226) AND (id <= 2487658))) AND struct(id,id,id,id,id) IN( < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < e...
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(mi.info), MIN(mi_idx.info), MIN(n.name), MIN(t.title)
       1         2  DISTRIBUTE GATHER
       1         2  AGGREGATE MIN(mi.info), MIN(mi_idx.info), MIN(n.name), MIN(t.title)
    2230        84  INNER JOIN HASH ON mc.movie_id = ci.movie_id
    2230       315  │└DISTRIBUTE GATHER
    2230       315   INNER JOIN HASH ON mc.movie_id = mk.movie_id
    2230     76714   │└DISTRIBUTE GATHER
     207     76714    INNER JOIN HASH ON mk.keyword_id = k.id
     207         7    │└DISTRIBUTE GATHER
14800000         7     TABLE SCAN keyword WHERE k.keyword IN('murder','violence','blood','gore','death','female-nudity','hospital')
  235000   4519852    TABLE SCAN movie_keyword
  936000       134   INNER JOIN HASH ON mi_idx.info_type_id = it2.id
  936000         1   │└DISTRIBUTE GATHER
  134000         1    TABLE SCAN info_type WHERE it2.info = 'votes'
     207       406   INNER JOIN HASH ON mc.movie_id = mi_idx.movie_id
     207       135   │└DISTRIBUTE GATHER
      12       135    INNER JOIN HASH ON mc.company_id = cn.id
      12        10    │└DISTRIBUTE GATHER
 4170000        10     TABLE SCAN company_name WHERE startswith(cn.name,'Lionsgate')
 2530000      7591    TABLE SCAN movie_companies WHERE (mc.note IS NOT NULL) AND contains(mc.note,'(Blu-ray)')
 1380000   1117892   TABLE SCAN movie_info_idx
  582000        37  INNER JOIN HASH ON ci.person_id = n.id
  582000   1739579  │└DISTRIBUTE GATHER
 2610000   1739579   TABLE SCAN name WHERE (n.gender IS NOT NULL) AND (n.gender = 'm')
 2910000        41  INNER JOIN HASH ON mi.movie_id = ci.movie_id
 2910000   1244716  │└DISTRIBUTE GATHER
     113   1244716   TABLE SCAN cast_info WHERE ci.note IN('(writer)','(head writer)','(written by)','(story)','(story editor)')
     281        45  INNER JOIN HASH ON mi.movie_id = t.id
     281     72258  │└DISTRIBUTE GATHER
      13     72258   INNER JOIN HASH ON mi.info_type_id = it1.id
      13         1   │└DISTRIBUTE GATHER
36200000         1    TABLE SCAN info_type WHERE it1.info = 'genres'
     113     72258   TABLE SCAN movie_info WHERE mi.info IN('Horror','Thriller')
 4520000       127  TABLE SCAN title WHERE (t.production_year IS NOT NULL) AND (t.production_year > 2000L) AND ((contains(t.title,'Freddy') OR contains(t.title,'Jason')) OR startswith(t.title,'Saw'))
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(info as info) AS Expr1022, MIN(info as info) AS Expr1023, MIN(name as name) AS Expr1024, MIN(title as title) AS Expr1025
       1        84  FILTER info as info = 'votes'
       1       252  INNER JOIN LOOP ON Bmk1006 = Bmk1006
       1       252  │└TABLE SEEK info_type AS it2
       1       252  INNER JOIN LOOP ON mi_idx.info_type_id = it2.id
       1       252  │└TABLE SEEK info_type AS it2
       1       252  FILTER info as info = 'genres'
       1       252  INNER JOIN LOOP ON Bmk1004 = Bmk1004
       1       252  │└TABLE SEEK info_type AS it1
       1       252  INNER JOIN LOOP ON mi.info_type_id = it1.id
       1       252  │└TABLE SEEK info_type AS it1
       1       252  FILTER keyword as keyword = 'blood' OR keyword as keyword = 'death' OR keyword as keyword = 'female-nudity' OR keyword as keyword = 'gore' OR keyword as keyword = 'hospital' OR keyword as keyword = 'murder' OR keyword as keyword = 'violence'
       1      8058  INNER JOIN LOOP ON Bmk1008 = Bmk1008
       1      8058  │└TABLE SEEK keyword AS k
       1      8058  INNER JOIN LOOP ON mk.keyword_id = k.id
       1      8058  │└TABLE SEEK keyword AS k
       1      8058  FILTER title as title LIKE '%Freddy%' OR title as title LIKE '%Jason%' OR title as title LIKE 'Saw%'
       1     20232  INNER JOIN LOOP ON Bmk1020 = Bmk1020
       0     20232  │└TABLE SEEK title AS t WHERE production_year as production_year > 2000
      11     35453  PROJECT BmkToPage Bmk1020 AS Expr1064
      11     35453  INNER JOIN LOOP ON mk.movie_id = t.id
       1     35453  │└TABLE SEEK title AS t
      11     35453  INNER JOIN LOOP ON mk.movie_id = mi.movie_id
       1     35453  │└TABLE SEEK movie_info AS mi WHERE info as info = 'Horror' OR info as info = 'Thriller'
      38     37995  INNER JOIN LOOP ON Bmk1016 = Bmk1016
       1     37995  │└TABLE SEEK movie_keyword AS mk
      38     37995  INNER JOIN LOOP ON mi_idx.movie_id = mk.movie_id
      17     37995  │└TABLE SEEK movie_keyword AS mk
       2       264  INNER JOIN LOOP ON mc.movie_id = mi_idx.movie_id
       2       264  │└TABLE SEEK movie_info_idx AS mi_idx
       1        84  FILTER gender as gender = 'm'
       1       103  INNER JOIN LOOP ON Bmk1018 = Bmk1018
       1       103  │└TABLE SEEK name AS n
       1       103  PROJECT BmkToPage Bmk1018 AS Expr1061
       1       103  INNER JOIN LOOP ON ci.person_id = n.id
       1       103  │└TABLE SEEK name AS n
       1       103  FILTER note as note = '(head writer)' OR note as note = '(story editor)' OR note as note = '(story)' OR note as note = '(writer)' OR note as note = '(written by)'
      32     15892  INNER JOIN LOOP ON Bmk1000 = Bmk1000
       1     15892  │└TABLE SEEK cast_info AS ci
      32     15892  PROJECT BmkToPage Bmk1000 AS Expr1059
      32     15892  INNER JOIN LOOP ON mc.movie_id = ci.movie_id
      30     15892  │└TABLE SEEK cast_info AS ci
       1       138  FILTER note as note LIKE '%(Blu-ray)%'
     375      1814  INNER JOIN LOOP ON Bmk1010 = Bmk1010
       1      1814  │└TABLE SEEK movie_companies AS mc
     375      1814  PROJECT BmkToPage Bmk1010 AS Expr1057
     375      1814  INNER JOIN LOOP ON cn.id = mc.company_id
      44      1814  │└TABLE SEEK movie_companies AS mc
       8        10  TABLE SCAN company_name AS cn WHERE name as name LIKE 'Lionsgate%'
Apache Iceberg
Estimate    Actual  Operator
       1         ∞  PROJECT min AS movie_budget, min_59 AS movie_votes, min_60 AS writer, min_61 AS violent_liongate_movie
       1         1  AGGREGATE MIN(min_62) AS min, MIN(min_63) AS min_59, MIN(min_64) AS min_60, MIN(min_65) AS min_61
       -        16  DISTRIBUTE GATHER
       -        16  AGGREGATE MIN(info_25) AS min_62, MIN(info_33) AS min_63, MIN(name_44) AS min_64, MIN(title) AS min_65
       -        84  INNER JOIN HASH ON movie_id = id_51
  302168       533  │└DISTRIBUTE HASH ON id_51
  302168       533   PROJECT id AS id_51, title
  302168       533   FILTER (production_year > 2000) AND ((title LIKE '%Freddy%') OR (title LIKE '%Jason%') OR (title LIKE 'Saw%'))
  302168       533   TABLE SCAN title
       -        84  INNER JOIN HASH ON person_id = id_43
 4167491   1739579  │└DISTRIBUTE HASH ON id_43
 4167491   1739579   PROJECT id AS id_43, name AS name_44
 4167491   1739579   FILTER gender = 'm'
 4167491   1739579   TABLE SCAN name
       -        84  INNER JOIN HASH ON keyword_id = id_13
  134170         7  │└DISTRIBUTE GATHER
  134170         7   PROJECT id AS id_13
  134170         7   FILTER keyword IN('blood','death','female-nudity','gore','hospital','murder','violence')
  134170         7   TABLE SCAN keyword
       -        84  INNER JOIN HASH ON movie_id = movie_id_39
 4523930        49  │└DISTRIBUTE HASH ON movie_id_39
 4523930        49   PROJECT movie_id AS movie_id_39, keyword_id
 4523930        49   TABLE SCAN movie_keyword
       -        19  INNER JOIN HASH ON info_type_id_32 = id_8
     113         1  │└DISTRIBUTE GATHER
     113         1   PROJECT id AS id_8
     113         1   FILTER info = 'votes'
     113         1   TABLE SCAN info_type
       -        19  INNER JOIN HASH ON movie_id = movie_id_31
 1380035        14  │└DISTRIBUTE HASH ON movie_id_31
 1380035        14   PROJECT movie_id AS movie_id_31, info_type_id AS info_type_id_32, info AS info_33
 1380035        14   TABLE SCAN movie_info_idx
       -        19  INNER JOIN HASH ON info_type_id = id_4
     113         1  │└DISTRIBUTE GATHER
     113         1   PROJECT id AS id_4
     113         1   FILTER info = 'genres'
     113         1   TABLE SCAN info_type
       -        19  INNER JOIN HASH ON movie_id = movie_id_24
13352148        17  │└DISTRIBUTE HASH ON movie_id_24
13352148        17   PROJECT movie_id AS movie_id_24, info_type_id, info AS info_25
13352148        17   FILTER info IN('Horror','Thriller')
13352148        17   TABLE SCAN movie_info
       -        12  INNER JOIN HASH ON company_id = id_0
  211497        10  │└DISTRIBUTE GATHER
  211497        10   PROJECT id AS id_0
  211497        10   FILTER (name >= 'Lionsgate') AND (name < 'Lionsgatf') AND (name LIKE 'Lionsgate%')
  211497        10   TABLE SCAN company_name
       -        12  INNER JOIN HASH ON movie_id = movie_id_18
 2348216         7  │└DISTRIBUTE HASH ON movie_id_18
 2348216         7   PROJECT movie_id AS movie_id_18, company_id
 2348216         7   FILTER note LIKE '%(Blu-ray)%'
 2348216         7   TABLE SCAN movie_companies
32619910        10  FILTER note IN('(head writer)','(story editor)','(story)','(writer)','(written by)')
32619910        10  TABLE SCAN cast_info
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(info), MIN(info), MIN(name), MIN(title)
       1        84  INNER JOIN LOOP ON id = person_id
       1        84  │└INNER JOIN LOOP ON id = info_type_id
       1       252   │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       1        84    │└INNER JOIN LOOP ON id = info_type_id
       1        84     │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       1        53      │└INNER JOIN LOOP ON id = company_id
       1       119       │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       1        77        │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       1        49         │└INNER JOIN LOOP ON id = movie_id
     236     76714          │└INNER JOIN LOOP ON keyword_id = id
       7         7           │└TABLE SEEK keyword AS k
    2135     76713           TABLE SEEK movie_keyword AS mk
   76714     76714          TABLE SEEK title AS t WHERE (t.production_year > 2000) AND ((t.title LIKE '%Freddy%') OR (t.title LIKE '%Jason%') OR (t.title LIKE 'Saw%'))
      49        76         TABLE SEEK cast_info AS ci WHERE ci.note IN('(writer)','(head writer)','(written by)','(story)','(story editor)')
      77       119        TABLE SEEK movie_companies AS mc WHERE mc.note LIKE '%(Blu-ray)%'
     119       119       TABLE SEEK company_name AS cn WHERE cn.name LIKE 'Lionsgate%'
      53        83      TABLE SEEK movie_info AS mi WHERE mi.info IN('Horror','Thriller')
      84        84     TABLE SEEK info_type AS it1 WHERE it1.info = 'genres'
     252       252    TABLE SEEK movie_info_idx AS mi_idx
     252       252   TABLE SEEK info_type AS it2 WHERE it2.info = 'votes'
      84        84  TABLE SEEK name AS n WHERE n.gender = 'm'