PlannerIMDB — JOB-25C

SELECT MIN(mi.info) AS movie_budget,
       MIN(mi_idx.info) AS movie_votes,
       MIN(n.name) AS male_writer,
       MIN(t.title) AS violent_movie_title
FROM job.cast_info AS ci,
     job.info_type AS it1,
     job.info_type AS it2,
     job.keyword AS k,
     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 it1.info = 'genres'
  AND it2.info = 'votes'
  AND k.keyword IN ('murder',
                    'violence',
                    'blood',
                    'gore',
                    'death',
                    'female-nudity',
                    'hospital')
  AND mi.info IN ('Horror',
                  'Action',
                  'Sci-Fi',
                  'Thriller',
                  'Crime',
                  'War')
  AND n.gender = 'm'
  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 ci.movie_id = mi.movie_id
  AND ci.movie_id = mi_idx.movie_id
  AND ci.movie_id = mk.movie_id
  AND mi.movie_id = mi_idx.movie_id
  AND mi.movie_id = mk.movie_id
  AND mi_idx.movie_id = mk.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;

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
8,482,651
8.5M
Rank
Estimation Error
Est Err
8,796,422
8.8M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
566,568
567K
Rank
Estimation Error
Est Err
26,153
26K
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
61,386,092
61M
Rank
Estimation Error
Est Err
1,211,133,560
1.2G
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
761,911,763
762M
Rank
Estimation Error
Est Err
251,355,567
251M
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
11,587,593
12M
Rank
Estimation Error
Est Err
9,120,045
9.1M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
3,753,256
3.8M
Rank
Estimation Error
Est Err
26,155
26K
Rank
Estimation Error
Est Err
3,311,315
3.3M
Rank
Apache Iceberg
Estimation Error
Est Err
27,463,576
27M
Rank
Estimation Error
Est Err
11,970,096
12M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
3,341,054
3.3M
Rank
Estimation Error
Est Err
26,163
26K
Rank
Estimation Error
Est Err
11,954,029
12M
Rank
Native storage
Estimation Error
Est Err
3,919,324
3.9M
Rank
Estimation Error
Est Err
5,146,982
5.1M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
7,677,869
7.7M
Rank
Estimation Error
Est Err
26,153
26K
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
536,201
536K
Rank
Estimation Error
Est Err
536,201
536K
Rank
Estimation Error
Est Err
728,091
728K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
600,007
600K
Rank
Estimation Error
Est Err
26,153
26K
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
6,922,159
6.9M
Rank
Estimation Error
Est Err
6,922,039
6.9M
Rank
Estimation Error
Est Err
7,763,357
7.8M
Rank
Estimation Error
Est Err
164,456
164K
Rank
Estimation Error
Est Err
6,980,896
7M
Rank
Estimation Error
Est Err
26,153
26K
Rank
Estimation Error
Est Err
0
Rank
Apache Iceberg
Estimation Error
Est Err
4,428,864
4.4M
Rank
Estimation Error
Est Err
235,093
235K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
4,499,342
4.5M
Rank
Estimation Error
Est Err
26,169
26K
Rank
Estimation Error
Est Err
4,416,347
4.4M
Rank

Actual Query Plans

Query Plan per Engine ?
Query Plan
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE min, min, min, min
     959     26153  INNER JOIN HASH ON id61 = movie_id32
     919     26153  │└INNER JOIN HASH ON id = info_type_id33
       1         1   │└TABLE SCAN info_type WHERE info = genres
     919     29015   INNER JOIN HASH ON id49 = person_id
    1946     46694   │└INNER JOIN HASH ON movie_id41 = movie_id32
     928     67732    │└INNER JOIN HASH ON movie_id32 = movie_id
    3699     63701     │└INNER JOIN HASH ON id6 = info_type_id
       1         1      │└TABLE SCAN info_type WHERE info = votes
    8863    191689      INNER JOIN HASH ON movie_id24 = movie_id
    4236     76714      │└INNER JOIN HASH ON id11 = keyword_id
     131         7       │└TABLE SCAN keyword WHERE keyword BETWEEN blood AND violence AND keyword IN(blood,death,female - nudity,gore,hospital,murder,violence)
 4523930   4523930       TABLE SCAN movie_keyword
 1380035   1380035      TABLE SCAN movie_info_idx
  246296     33270     TABLE SCAN movie_info WHERE info BETWEEN Action AND War AND info34 IN(Action,Crime,Horror,Sci - Fi,Thriller,War)
 1274215     12545    TABLE SCAN cast_info WHERE note BETWEEN (head writer) AND (written by) AND note43 IN((head writer),(story editor),story,writer,(written by))
 1778509      4550   TABLE SCAN name WHERE gender = m
 2528312   2528312  TABLE SCAN title
Native storage
Estimate    Actual  Operator
       -         1  PROJECT a1 AS movie_budget, a2 AS movie_votes, a3 AS male_writer, a4 AS violent_movie_title
       -         1  AGGREGATE MIN(info_right) AS a1, MIN(info_left) AS a2, MIN(name) AS a3, MIN(title) AS a4
       -      251M  PROJECT info, info, name, title
       -      251M  PROJECT info, info, name, title
       -      251M  INNER JOIN HASH ON tuple(PROJECTION_3012.movie_id,PROJECTION_3012.movie_id,PROJECTION_3012.movie_id,PROJECTION_3012.movie_id,PROJECTION_3012.id,PROJECTION_3012.id) = tuple(PROJECTION_2991.movie_id,PROJECTION_2991.movie_id,PROJECTION_2991.movie_id,PROJECTION_2991.movie_id,PROJECTION_2991.movie_id,PROJECTION_2991.movie_id)
       -  13216524  │└PROJECT movie_id_right, movie_id AS movie_id_right_2, info AS info_right, name
       -  13216524   PROJECT movie_id, info, movie_id, name
       -  13216524   INNER JOIN HASH ON PROJECTION_2997.person_id = PROJECTION_2994.id
       -   1739579   │└PROJECT id, name
       -   1739579    PROJECT id, name
       -   1739579    TABLE SCAN name WHERE gender = 'm'
       -  26038298   PROJECT person_id, movie_id, info, movie_id
       -  26038298   PROJECT movie_id, person_id, info, movie_id
       -  26038298   INNER JOIN HASH ON PROJECTION_3003.info_type_id = PROJECTION_3000.id
       -         1   │└PROJECT id
       -         1    PROJECT id
       -         1    TABLE SCAN info_type WHERE info = 'genres'
       -      460M   PROJECT info_type_id, movie_id, person_id, info, movie_id
       -      460M   PROJECT movie_id, person_id, info, movie_id, info_type_id
       -      460M   INNER JOIN HASH ON PROJECTION_3009.movie_id = PROJECTION_3006.movie_id
       -  14835720   │└PROJECT movie_id AS movie_id_right, info, info_type_id
       -  14835720    PROJECT movie_id, info, info_type_id
       -  14835720    TABLE SCAN movie_info WHERE TRUE
       -  36244344   PROJECT movie_id AS movie_id_left, person_id
       -  36244344   PROJECT movie_id, person_id
       -  36244344   TABLE SCAN cast_info WHERE TRUE
       -   3461792  PROJECT movie_id AS movie_id_left, movie_id AS movie_id_left_2, id, info AS info_left, title
       -   3461792  PROJECT info, movie_id, movie_id, title, id
       -   3461792  INNER JOIN HASH ON tuple(PROJECTION_3036.id,PROJECTION_3036.id) = tuple(PROJECTION_3015.movie_id,PROJECTION_3015.movie_id)
       -   3461792  │└PROJECT movie_id, movie_id, info
       -   3461792   PROJECT info, movie_id, movie_id
       -   3461792   INNER JOIN HASH ON PROJECTION_3033.id = PROJECTION_3018.keyword_id
       -   3461792   │└PROJECT keyword_id, info, movie_id, movie_id
       -   3461792    PROJECT info, movie_id, movie_id, keyword_id
       -   3461792    INNER JOIN HASH ON PROJECTION_3030.movie_id = PROJECTION_3021.movie_id
       -    459925    │└PROJECT movie_id AS movie_id_right, info
       -    459925     PROJECT info, movie_id
       -    459925     INNER JOIN HASH ON PROJECTION_3027.info_type_id = PROJECTION_3024.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
       -   4523930    PROJECT movie_id AS movie_id_left, keyword_id
       -   4523930    PROJECT movie_id, keyword_id
       -   4523930    TABLE SCAN movie_keyword
       -    134170   PROJECT id
       -    134170   PROJECT id
       -    134170   TABLE SCAN keyword WHERE TRUE
       -   2528312  PROJECT id, title
       -   2528312  PROJECT title, id
       -   2528312  TABLE SCAN title
Native storage
Estimate    Actual  Operator
       -         1  AGGREGATE MIN(#0), MIN(#1), MIN(#2), MIN(#3)
     333     26153  PROJECT info, info, name, title
     333     26153  INNER JOIN HASH ON id = person_id
     575     42900  │└INNER JOIN HASH ON movie_id = id
     197     63386   │└INNER JOIN HASH ON id = movie_id
     193     63386    │└INNER JOIN HASH ON id = keyword_id
     940   2224786     │└INNER JOIN HASH ON movie_id = movie_id
     516    102516      │└INNER JOIN HASH ON info_type_id = id
       2         1       │└FILTER id <= 110
       2         1        TABLE SCAN info_type WHERE info = 'genres'
   29178    102516       INNER JOIN HASH ON movie_id = movie_id
   24425    459925       │└INNER JOIN HASH ON info_type_id = id
       2         1        │└FILTER id >= 99
       2         1         TABLE SCAN info_type WHERE info = 'votes'
 1380035    459925        TABLE SCAN movie_info_idx
 2967144    127671       FILTER movie_id BETWEEN 2 AND 2525793
 2967144    127672       FILTER IN ...
14835720    818119       INNER JOIN HASH ON info = #0
       0         6       │└SCAN MATERIALISED
14835720    818119       TABLE SCAN movie_info WHERE info IN('Horror','Action','Sci-Fi','Thriller','Crime','War')
 4523930   1396965      TABLE SCAN movie_keyword WHERE movie_id <= 2525793
   26834         7     FILTER IN ...
  134170    134163     INNER JOIN HASH ON keyword = #0
       0         7     │└SCAN MATERIALISED
  134170    134163     TABLE SCAN keyword WHERE keyword IN('murder','violence','blood','gore','death','female-nudity','hospital')
 2528312     21243    TABLE SCAN title WHERE id >= 2 AND id <= 2525793
 7248868     12871   FILTER movie_id BETWEEN 2 AND 2525793
 7248868     12871   FILTER IN ...
36244344   1083977   INNER JOIN HASH ON note = #0
       0         5   │└SCAN MATERIALISED
36244344   1083977   TABLE SCAN cast_info WHERE note IN('(writer)','(head writer)','(written by)','(story)','(story editor)')
 2083746      4912  FILTER id <= 4061926
 2083746      4912  TABLE SCAN "name" WHERE gender = 'm'
Apache Iceberg
Estimate    Actual  Operator
       1         1  PROJECT movie_budget, movie_votes, male_writer, violent_movie_title
       1         1  AGGREGATE MIN(info), MIN(info), MIN(name), MIN(title)
  494319        10  DISTRIBUTE GATHER
  494319        10  AGGREGATE MIN(info), MIN(info), MIN(name), MIN(title)
  494319     26153  INNER JOIN HASH ON movie_id = id AND movie_id = id AND movie_id = id AND movie_id = id
  494319     26153  │└DISTRIBUTE HASH ON movie_id, movie_id, movie_id, movie_id
  494319     26153   INNER JOIN HASH ON person_id = id
  494319     42900   │└DISTRIBUTE HASH ON person_id
  494319     42900    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')
 2471597   1515077    INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id AND movie_id = movie_id
 1380035     54155    │└DISTRIBUTE HASH ON movie_id, movie_id, movie_id
 1380035     54155     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'
 1380035    162621     PROJECT person_id, movie_id, movie_id, info, movie_id, info_type_id, info
 1380035    162621     INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id
 1380035   1380035     │└DISTRIBUTE HASH ON movie_id, movie_id
 1380035   1380035      TABLE SCAN movie_info_idx WHERE ((info_type_id >= 100) AND (info_type_id <= 100)) AND info_type_id IN 100
 1780068     93240     DISTRIBUTE HASH ON movie_id, movie_id
 1780068     93240     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'
 8513371     93240     PROJECT person_id, movie_id, movie_id, info_type_id, info
 8513371     93240     INNER JOIN HASH ON movie_id = movie_id
 2967144    186594     │└DISTRIBUTE HASH ON movie_id
 2967144    186594      FILTER info IN('Horror','Action','Sci-Fi','Thriller','Crime','War')
14835720   1724005      TABLE SCAN movie_info WHERE (info IN('Horror','Action','Sci-Fi','Thriller','Crime','War') AND (((info_type_id >= 3) AND (info_type_id <= 3)) AND info_type_id IN 3)) AND CASE MOD(HASH_REPARTITION(movie_id,movie_id),10) WHEN 1 THEN ((((movie_id >= 57) AND (movie_id <= 2525790)) AND ((movie_id >= 57) AND (movie_id <= 2525790))) AND TRUE) WHEN 3 THEN ((((movie_id >= 11) AND (movie_id <= 2525784)) AND ((movie_id >= 11) AND (movie_id <= 2525784))) AND TRUE) WHEN ...
 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 >= 963) AND (movie_id <= 2525735)) AND TRUE) WHEN 1 THEN (((movie_id >= 1668) AND (movie_id <= 2525766)) AND TRUE) WHEN 2 THEN (((movie_id >= 979) AND (movie_id <= 2525787)) AND TRUE) WHEN 3 THEN (((movie_id >= 405) AND (movie_id <= 2525793)) AND TRUE) WHEN 4 THEN (((movie_id >= 3552) AND (mo...
 4523930   4523930    DISTRIBUTE HASH ON movie_id, movie_id, movie_id
 4523930   4523930    TABLE SCAN movie_keyword WHERE CASE MOD(HASH_REPARTITION(movie_id,movie_id,movie_id),10) WHEN 0 THEN (((((movie_id >= 35089) AND (movie_id <= 2525790)) AND ((movie_id >= 35089) AND (movie_id <= 2525790))) AND ((movie_id >= 35089) AND (movie_id <= 2525790))) AND TRUE) WHEN 1 THEN (((((movie_id >= 44673) AND (movie_id <= 2525273)) AND ((movie_id >= 44673) AND (movie_id <= 2525273))) AND ((movie_id >= 44673) AND (movie_id <= 2525273))) AND TRUE) WHEN 2 THEN (((((movie...
  833499   1739579   DISTRIBUTE HASH ON id
  833499   1739579   FILTER gender = 'm'
 4167491   1846761   TABLE SCAN name WHERE (gender = 'm') AND CASE MOD(HASH_REPARTITION id,10) WHEN 0 THEN (((id >= 2281) AND (id <= 4023392)) AND TRUE) WHEN 1 THEN (((id >= 2152) AND (id <= 3736697)) AND TRUE) WHEN 2 THEN (((id >= 3656) AND (id <= 3817407)) AND TRUE) WHEN 3 THEN (((id >= 10350) AND (id <= 3227124)) AND TRUE) WHEN 4 THEN (((id >= 938) AND (id <= 3986082)) AND TRUE) WHEN 5 THEN (((id >= 3360) AND (id <= 4030084)) AND TRUE) WHEN 6 THEN (((id >= 3168) AND (id <= 3889966)) AND...
 2528312   2528312  DISTRIBUTE HASH ON id, id, id, id
 2528312   2528312  TABLE SCAN title WHERE CASE MOD(HASH_REPARTITION(id,id,id,id),10) WHEN 1 THEN ((((((id >= 122400) AND (id <= 2525669)) AND ((id >= 122400) AND (id <= 2525669))) AND ((id >= 122400) AND (id <= 2525669))) AND ((id >= 122400) AND (id <= 2525669))) AND TRUE) WHEN 3 THEN ((((((id >= 138930) AND (id <= 2524105)) AND ((id >= 138930) AND (id <= 2524105))) AND ((id >= 138930) AND (id <= 2524105))) AND ((id >= 138930) AND (id <= 2524105))) AND TRUE) WHEN 5 THEN ((((((id >= 10583) AN...
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)
     875     26153  INNER JOIN HASH ON ci.movie_id = mi_idx.movie_id
     875     63701  │└DISTRIBUTE GATHER
     254     63701   INNER JOIN HASH ON mi_idx.info_type_id = it2.id
     254         1   │└DISTRIBUTE GATHER
36200000         1    TABLE SCAN info_type WHERE it2.info = 'votes'
      34    191657   INNER JOIN HASH ON mk.movie_id = mi_idx.movie_id
      34     76714   │└DISTRIBUTE GATHER
     875     76714    INNER JOIN HASH ON mk.keyword_id = k.id
     875         7    │└DISTRIBUTE GATHER
 1380000         7     TABLE SCAN keyword WHERE k.keyword IN('murder','violence','blood','gore','death','female-nudity','hospital')
 4520000   4519852    TABLE SCAN movie_keyword
14800000   1375949   TABLE SCAN movie_info_idx
     254     45265  INNER JOIN HASH ON ci.person_id = n.id
     254   1739579  │└DISTRIBUTE GATHER
     113   1739579   TABLE SCAN name WHERE (n.gender IS NOT NULL) AND (n.gender = 'm')
      36     93240  INNER JOIN HASH ON mi.movie_id = ci.movie_id
      36   1244716  │└DISTRIBUTE GATHER
 4170000   1244716   TABLE SCAN cast_info WHERE ci.note IN('(writer)','(head writer)','(written by)','(story)','(story editor)')
     875    186594  INNER JOIN HASH ON mi.movie_id = t.id
     875    186594  │└DISTRIBUTE GATHER
     281    186594   INNER JOIN HASH ON mi.info_type_id = it1.id
     281         1   │└DISTRIBUTE GATHER
     113         1    TABLE SCAN info_type WHERE it1.info = 'genres'
  134000    186594   TABLE SCAN movie_info WHERE mi.info IN('Horror','Action','Sci-Fi','Thriller','Crime','War')
 2530000   2520894  TABLE SCAN title
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(info as info) AS Expr1018, MIN(info as info) AS Expr1019, MIN(name as name) AS Expr1020, MIN(title as title) AS Expr1021
       1     26153  INNER JOIN HASH ON mk.keyword_id = k.id
       7         7  │└TABLE SCAN keyword AS k WHERE 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     26153  INNER JOIN LOOP ON Bmk1012 = Bmk1012
       1     26153  │└TABLE SEEK movie_keyword AS mk WHERE BLOOM(keyword_id as keyword_id)
    6282    941053  INNER JOIN LOOP ON ci.movie_id = mk.movie_id
      18    941053  │└TABLE SEEK movie_keyword AS mk
     345     28073  SORT movie_id
     345     28073  INNER JOIN LOOP ON Bmk1016 = Bmk1016
       1     28073  │└TABLE SEEK title AS t
     345     28073  SORT Expr1060
     345     28073  PROJECT BmkToPage Bmk1016 AS Expr1060
     345     28073  INNER JOIN LOOP ON mi_idx.movie_id = t.id
       1     28073  │└TABLE SEEK title AS t
     344     28073  FILTER gender as gender = 'm'
     829     54155  INNER JOIN LOOP ON Bmk1014 = Bmk1014
       1     54155  │└TABLE SEEK name AS n
     829     54155  SORT Expr1092
     829     54155  PROJECT BmkToPage Bmk1014 AS Expr1092
     829     54155  INNER JOIN LOOP ON ci.person_id = n.id
       1     54155  │└TABLE SEEK name AS n
     826     54155  SORT person_id
     826     54155  INNER JOIN HASH ON mi_idx.info_type_id = it2.id
       1         1  │└FILTER info as info = 'votes'
     113       113   TABLE SCAN info_type AS it2
     413     54155  INNER JOIN HASH ON mi.info_type_id = it1.id
       1         1  │└FILTER info as info = 'genres'
     113       113   INNER JOIN LOOP ON Bmk1002 = Bmk1002
       1       113   │└TABLE SEEK info_type AS it1
     113       113   TABLE SEEK info_type AS it1
     289     54155  INNER JOIN HASH ON mi_idx.movie_id = mi.movie_id
    1560    186594  │└TABLE SEEK movie_info AS mi WHERE (info as info = 'Action' OR info as info = 'Crime' OR info as info = 'Horror' OR info as info = 'Sci-Fi' OR info as info = 'Thriller' OR info as info = 'War') AND BLOOM(info_type_id as info_type_id)
     114     38275  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)'
    4170   2764032  INNER JOIN LOOP ON Bmk1000 = Bmk1000
       1   2764032  │└TABLE SEEK cast_info AS ci
    4170   2764032  PROJECT BmkToPage Bmk1000 AS Expr1849
    4170   2764032  INNER JOIN LOOP ON mi_idx.movie_id = ci.movie_id
      30   2764032  │└TABLE SEEK cast_info AS ci
  138004     75493  TABLE SEEK movie_info_idx AS mi_idx WHERE BLOOM(movie_id as movie_id) AND BLOOM(info_type_id as info_type_id)
Apache Iceberg
Estimate    Actual  Operator
       1         ∞  PROJECT min AS movie_budget, min_45 AS movie_votes, min_46 AS male_writer, min_47 AS violent_movie_title
       1         1  AGGREGATE MIN(min_48) AS min, MIN(min_49) AS min_45, MIN(min_50) AS min_46, MIN(min_51) AS min_47
       -        16  DISTRIBUTE GATHER
       -        16  AGGREGATE MIN(info_15) AS min_48, MIN(info_23) AS min_49, MIN(name) AS min_50, MIN(title) AS min_51
       -     26153  INNER JOIN HASH ON movie_id = id_37
 2528312   2528312  │└DISTRIBUTE HASH ON id_37
 2528312   2528312   PROJECT id AS id_37, title
 2528312   2528312   TABLE SCAN title
       -     26153  INNER JOIN HASH ON person_id = id_33
 4167491   1739579  │└DISTRIBUTE HASH ON id_33
 4167491   1739579   PROJECT id AS id_33, name
 4167491   1739579   FILTER gender = 'm'
 4167491   1739579   TABLE SCAN name
       -     42900  INNER JOIN HASH ON keyword_id = id_9
  134170         7  │└DISTRIBUTE GATHER
  134170         7   PROJECT id AS id_9
  134170         7   FILTER keyword IN('blood','death','female-nudity','gore','hospital','murder','violence')
  134170         7   TABLE SCAN keyword
       -     42900  INNER JOIN HASH ON movie_id = movie_id_29
 4523930     76714  │└DISTRIBUTE HASH ON movie_id_29
 4523930     76714   PROJECT movie_id AS movie_id_29, keyword_id
 4523930     76714   TABLE SCAN movie_keyword
       -     20060  INNER JOIN HASH ON info_type_id_22 = id_4
     113         1  │└DISTRIBUTE GATHER
     113         1   PROJECT id AS id_4
     113         1   FILTER info = 'votes'
     113         1   TABLE SCAN info_type
       -     20060  INNER JOIN HASH ON movie_id = movie_id_21
 1380035     40111  │└DISTRIBUTE HASH ON movie_id_21
 1380035     40111   PROJECT movie_id AS movie_id_21, info_type_id AS info_type_id_22, info AS info_23
 1380035     40111   TABLE SCAN movie_info_idx
       -     20060  INNER JOIN HASH ON info_type_id = id_0
     113         1  │└DISTRIBUTE GATHER
     113         1   PROJECT id AS id_0
     113         1   FILTER info = 'genres'
     113         1   TABLE SCAN info_type
       -     20060  INNER JOIN HASH ON movie_id = movie_id_14
13352148     31606  │└DISTRIBUTE HASH ON movie_id_14
13352148     31606   PROJECT movie_id AS movie_id_14, info_type_id, info AS info_15
13352148     31606   FILTER info IN('Action','Crime','Horror','Sci-Fi','Thriller','War')
13352148     31606   TABLE SCAN movie_info
32619910     12533  FILTER note IN('(head writer)','(story editor)','(story)','(writer)','(written by)')
32619910     12533  TABLE SCAN cast_info
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(info), MIN(info), MIN(name), MIN(title)
       1     26153  INNER JOIN LOOP ON id = movie_id AND movie_id = id AND (movie_id = id)
       1     26153  │└INNER JOIN LOOP ON id = person_id
       1     42900   │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = movie_id AND (movie_id = movie_id)
       1     63386    │└INNER JOIN LOOP ON id = info_type_id
       3     67732     │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = movie_id AND (movie_id = movie_id)
       6     63701      │└INNER JOIN HASH ON info_type_id = id
       1         1       │└TABLE SEEK info_type AS it2
     686    191689       INNER JOIN LOOP ON movie_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
  230142    191785       TABLE SEEK movie_info_idx AS mi_idx
   63701     67523      TABLE SEEK movie_info AS mi WHERE mi.info IN('Horror','Action','Sci-Fi','Thriller','Crime','War')
   67732     67732     TABLE SEEK info_type AS it1 WHERE it1.info = 'genres'
   63386     63386    TABLE SEEK cast_info AS ci WHERE ci.note IN('(writer)','(head writer)','(written by)','(story)','(story editor)')
   42900     42900   TABLE SEEK name AS n WHERE n.gender = 'm'
   26153     26153  TABLE SEEK title AS t