PlannerIMDB — JOB-30C

SELECT MIN(mi.info) AS movie_budget,
       MIN(mi_idx.info) AS movie_votes,
       MIN(n.name) AS writer,
       MIN(t.title) AS complete_violent_movie
FROM job.complete_cast AS cc,
     job.comp_cast_type AS cct1,
     job.comp_cast_type AS cct2,
     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 cct1.kind = 'cast'
  AND cct2.kind ='complete+verified'
  AND 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 t.id = cc.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 = cc.movie_id
  AND mi.movie_id = mi_idx.movie_id
  AND mi.movie_id = mk.movie_id
  AND mi.movie_id = cc.movie_id
  AND mi_idx.movie_id = mk.movie_id
  AND mi_idx.movie_id = cc.movie_id
  AND mk.movie_id = cc.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 cct1.id = cc.subject_id
  AND cct2.id = cc.status_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,458,320
8.5M
Rank
Estimation Error
Est Err
8,567,819
8.6M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
295,187
295K
Rank
Estimation Error
Est Err
8,024
8K
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
61,521,180
62M
Rank
Estimation Error
Est Err
28,500,650
29M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
54,529,174
55M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
11,849,471
12M
Rank
Estimation Error
Est Err
6,625,218
6.6M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
3,787,191
3.8M
Rank
Estimation Error
Est Err
194,620
195K
Rank
Estimation Error
Est Err
3,584,247
3.6M
Rank
Apache Iceberg
Estimation Error
Est Err
27,586,464
28M
Rank
Estimation Error
Est Err
12,334,497
12M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
694,833
695K
Rank
Estimation Error
Est Err
8,034
8K
Rank
Estimation Error
Est Err
321,208
321K
Rank
Native storage
Estimation Error
Est Err
1,383,937
1.4M
Rank
Estimation Error
Est Err
1,713,818
1.7M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
2,783,117
2.8M
Rank
Estimation Error
Est Err
8,024
8K
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
557,369
557K
Rank
Estimation Error
Est Err
557,367
557K
Rank
Estimation Error
Est Err
801,581
802K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
676,217
676K
Rank
Estimation Error
Est Err
8,024
8K
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
1,790,681
1.8M
Rank
Estimation Error
Est Err
1,790,561
1.8M
Rank
Estimation Error
Est Err
2,179,178
2.2M
Rank
Estimation Error
Est Err
17,538
18K
Rank
Estimation Error
Est Err
1,842,791
1.8M
Rank
Estimation Error
Est Err
8,024
8K
Rank
Estimation Error
Est Err
0
Rank
Apache Iceberg
Estimation Error
Est Err
4,431,189
4.4M
Rank
Estimation Error
Est Err
69,863
70K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
4,454,246
4.5M
Rank
Estimation Error
Est Err
8,040
8K
Rank
Estimation Error
Est Err
4,428,882
4.4M
Rank

Actual Query Plans

Query Plan per Engine ?
Query Plan
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE min, min, min, min
      46      8024  INNER JOIN HASH ON id = info_type_id
       1         1  │└TABLE SCAN info_type WHERE info = genres
      46     10485  INNER JOIN HASH ON id6 = info_type_id87
       1         1  │└TABLE SCAN info_type WHERE info = votes
     110     32134  INNER JOIN HASH ON movie_id86 = movie_id34
      46     10485  │└INNER JOIN HASH ON id70 = movie_id34
      44     10485   │└INNER JOIN HASH ON id58 = person_id
      93     15086    │└INNER JOIN HASH ON movie_id50 = movie_id34
     176     18344     │└INNER JOIN HASH ON movie_id41 = movie_id34
     414     12521      │└INNER JOIN HASH ON id11 = subject_id
       1         1       │└TABLE SCAN comp_cast_type WHERE kind = cast
     669     16336       INNER JOIN HASH ON id16 = status_id
       1         1       │└TABLE SCAN comp_cast_type WHERE kind = complete + verified
    2676     16336       INNER JOIN HASH ON movie_id = movie_id34
    4236     76714       │└INNER JOIN HASH ON id21 = 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
  135086     14134       TABLE SCAN complete_cast
  246296      7945      TABLE SCAN movie_info WHERE info BETWEEN Action AND War AND info43 IN(Action,Crime,Horror,Sci - Fi,Thriller,War)
 1274215      2775     TABLE SCAN cast_info WHERE note BETWEEN (head writer) AND (written by) AND note52 IN((head writer),(story editor),story,writer,(written by))
 1778509      1178    TABLE SCAN name WHERE gender = m
 2528312   2528312   TABLE SCAN title
 1380035   1380035  TABLE SCAN movie_info_idx
Native storage
Estimate    Actual  Operator
       -         1  PROJECT a1 AS movie_budget, a2 AS movie_votes, a3 AS writer, a4 AS complete_violent_movie
       -         1  AGGREGATE MIN(info_left) AS a1, MIN(info_right) 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_4334.movie_id,PROJECTION_4334.movie_id,PROJECTION_4334.movie_id,PROJECTION_4334.movie_id,PROJECTION_4334.movie_id,PROJECTION_4334.movie_id,PROJECTION_4334.id,PROJECTION_4334.id) = tuple(PROJECTION_4313.movie_id,PROJECTION_4313.movie_id,PROJECTION_4313.movie_id,PROJECTION_4313.movie_id,PROJECTION_4313.movie_id,PROJECTION_4313.movie_id,PROJECTION_4313.movie_id,PROJECTION_4313.movie_id)
       -   3461792  │└PROJECT movie_id_right, movie_id AS movie_id_right_2, info AS info_right
       -   3461792   PROJECT info, movie_id, movie_id
       -   3461792   INNER JOIN HASH ON PROJECTION_4331.id = PROJECTION_4316.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_4328.movie_id = PROJECTION_4319.movie_id
       -    459925    │└PROJECT movie_id AS movie_id_right, info
       -    459925     PROJECT info, movie_id
       -    459925     INNER JOIN HASH ON PROJECTION_4325.info_type_id = PROJECTION_4322.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
       -         0  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
       -         0  PROJECT movie_id, movie_id, info, movie_id, name, title, id
       -         0  INNER JOIN HASH ON tuple(PROJECTION_4352.movie_id,PROJECTION_4352.movie_id,PROJECTION_4352.movie_id,PROJECTION_4352.movie_id) = tuple(PROJECTION_4337.movie_id,PROJECTION_4337.movie_id,PROJECTION_4337.id,PROJECTION_4337.id)
       -   1533909  │└PROJECT movie_id AS movie_id_right, id, info, title
       -   1533909   PROJECT info, movie_id, title, id
       -   1533909   INNER JOIN HASH ON PROJECTION_4343.movie_id = PROJECTION_4340.id
       -   2528312   │└PROJECT id, title
       -   2528312    PROJECT title, id
       -   2528312    TABLE SCAN title
       -   1533909   PROJECT movie_id, info
       -   1533909   PROJECT info, movie_id
       -   1533909   INNER JOIN HASH ON PROJECTION_4349.info_type_id = PROJECTION_4346.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
       -    554973  PROJECT movie_id_left, movie_id AS movie_id_left_2, name
       -    554973  PROJECT movie_id, movie_id, name
       -    554973  INNER JOIN HASH ON PROJECTION_4358.person_id = PROJECTION_4355.id
       -   1739579  │└PROJECT id, name
       -   1739579   PROJECT id, name
       -   1739579   TABLE SCAN name WHERE gender = 'm'
       -    994632  PROJECT person_id, movie_id, movie_id
       -    994632  PROJECT movie_id, movie_id, person_id
       -    994632  INNER JOIN HASH ON PROJECTION_4364.movie_id = PROJECTION_4361.movie_id
       -  36244344  │└PROJECT movie_id AS movie_id_right, person_id
       -  36244344   PROJECT movie_id, person_id
       -  36244344   TABLE SCAN cast_info WHERE TRUE
       -     17879  PROJECT movie_id AS movie_id_left
       -     17879  PROJECT movie_id
       -     17879  INNER JOIN HASH ON PROJECTION_4370.status_id = PROJECTION_4367.id
       -         1  │└PROJECT id
       -         1   PROJECT id
       -         1   TABLE SCAN comp_cast_type WHERE kind = 'complete+verified'
       -     85941  PROJECT status_id, movie_id
       -     85941  PROJECT status_id, movie_id
       -     85941  INNER JOIN HASH ON PROJECTION_4376.subject_id = PROJECTION_4373.id
       -         1  │└PROJECT id
       -         1   PROJECT id
       -         1   TABLE SCAN comp_cast_type WHERE kind = 'cast'
       -    135086  PROJECT subject_id, status_id, movie_id
       -    135086  PROJECT subject_id, status_id, movie_id
       -    135086  TABLE SCAN complete_cast
Native storage
Estimate    Actual  Operator
       -         1  AGGREGATE MIN(#0), MIN(#1), MIN(#2), MIN(#3)
       1      8024  PROJECT info, info, name, title
       1      8024  INNER JOIN HASH ON id = person_id
       1     11863  │└INNER JOIN HASH ON movie_id = id
       0     14655   │└INNER JOIN HASH ON id = keyword_id
       3    643428    │└INNER JOIN HASH ON movie_id = id
       1     10291     │└INNER JOIN HASH ON info_type_id = id
       2         1      │└FILTER id <= 110
       2         1       TABLE SCAN info_type WHERE info = 'genres'
     100     10291      INNER JOIN HASH ON movie_id = id
      84     17018      │└INNER JOIN HASH ON id = movie_id
      83     17018       │└INNER JOIN HASH ON status_id = id
       1         1        │└FILTER id >= 3
       1         1         TABLE SCAN comp_cast_type WHERE kind = 'complete+verified'
     332     17018        INNER JOIN HASH ON subject_id = id
       1         1        │└FILTER id <= 2
       1         1         TABLE SCAN comp_cast_type WHERE kind = 'cast'
    1328     17018        INNER JOIN HASH ON movie_id = movie_id
   24425    459891        │└INNER JOIN HASH ON info_type_id = id
       2         1         │└FILTER id >= 99
       2         1          TABLE SCAN info_type WHERE info = 'votes'
 1380035    459891         TABLE SCAN movie_info_idx WHERE movie_id >= 285
  135086     17602        TABLE SCAN complete_cast WHERE movie_id <= 2525793
 2528312     31128       TABLE SCAN title WHERE id >= 285 AND id <= 2525793
 2967144     11302      FILTER movie_id BETWEEN 285 AND 2525793
 2967144     11302      FILTER IN ...
14835720     44636      INNER JOIN HASH ON info = #0
       0         6      │└SCAN MATERIALISED
14835720     44636      TABLE SCAN movie_info WHERE info IN('Horror','Action','Sci-Fi','Thriller','Crime','War')
 4523930    402452     TABLE SCAN movie_keyword WHERE movie_id >= 285 AND movie_id <= 2525793
   26834         7    FILTER IN ...
  134170    134134    INNER JOIN HASH ON keyword = #0
       0         7    │└SCAN MATERIALISED
  134170    134134    TABLE SCAN keyword WHERE keyword IN('murder','violence','blood','gore','death','female-nudity','hospital')
 7248868      2945   FILTER movie_id BETWEEN 285 AND 2525793
 7248868      2945   FILTER IN ...
36244344    292828   INNER JOIN HASH ON note = #0
       0         5   │└SCAN MATERIALISED
36244344    292828   TABLE SCAN cast_info WHERE note IN('(writer)','(head writer)','(written by)','(story)','(story editor)')
 2083746      1244  FILTER id <= 4061926
 2083746      1244  TABLE SCAN "name" WHERE gender = 'm'
Apache Iceberg
Estimate    Actual  Operator
       1         1  PROJECT movie_budget, movie_votes, writer, complete_violent_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      8024  INNER JOIN HASH ON movie_id = id AND movie_id = id AND movie_id = id AND movie_id = id AND movie_id = id
   26834      8024  │└DISTRIBUTE GATHER
   26834      8024   INNER JOIN HASH ON person_id = id
   26834     11863   │└DISTRIBUTE GATHER
   26834     11863    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')
   42621    493406    INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id AND movie_id = movie_id AND movie_id = movie_id
   23798      7247    │└DISTRIBUTE GATHER
   23798      7247     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'
   23798     21841     INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id AND movie_id = movie_id
   23798      7263     │└DISTRIBUTE GATHER
   23798      7263      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'
  113818      7263      INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id
   96913     11627      │└DISTRIBUTE GATHER
   96913     11627       INNER JOIN HASH ON movie_id = movie_id
   33771     17879       │└DISTRIBUTE GATHER
   33771     17879        INNER JOIN HASH ON id = status_id
       1         1        │└DISTRIBUTE GATHER
       1         1         FILTER kind = 'complete+verified'
       4         4         DISTRIBUTE ROUND ROBIN
       4         4         TABLE SCAN comp_cast_type WHERE kind = 'complete+verified'
   67543     85941        INNER JOIN HASH ON id = subject_id
       1         1        │└DISTRIBUTE GATHER
       1         1         FILTER kind = 'cast'
       4         4         DISTRIBUTE ROUND ROBIN
       4         4         TABLE SCAN comp_cast_type WHERE kind = 'cast'
  135086    122880        DISTRIBUTE ROUND ROBIN
  135086    122880        TABLE SCAN complete_cast WHERE (((subject_id >= 1) AND (subject_id <= 1)) AND subject_id IN 1) AND (((status_id >= 4) AND (status_id <= 4)) AND status_id IN 4)
 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 (((movie_id >= 608) AND (movie_id <= 2528176)) AND TRUE)
 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 ((((movie_id >= 608) AND (movie_id <= 2525069)) AND ((movie_id >= 608) AND (movie_id <= 2525069))) AND TRUE)) AND (((info_type_id >= 3) AND (info_type_id <= 3)) AND info_type_id IN 3)
 1380035   1380035     TABLE SCAN movie_info_idx WHERE (((((movie_id >= 35335) AND (movie_id <= 2525069)) AND ((movie_id >= 35335) AND (movie_id <= 2525069))) AND ((movie_id >= 35335) AND (movie_id <= 2525069))) AND TRUE) AND (((info_type_id >= 100) AND (info_type_id <= 100)) AND info_type_id IN 100)
 4523930   4523930    TABLE SCAN movie_keyword WHERE ((((((movie_id >= 35335) AND (movie_id <= 2525069)) AND ((movie_id >= 35335) AND (movie_id <= 2525069))) AND ((movie_id >= 35335) AND (movie_id <= 2525069))) AND ((movie_id >= 35335) AND (movie_id <= 2525069))) AND TRUE) AND (((keyword_id >= 137) AND (keyword_id <= 875)) AND keyword_id IN(870,382,875,872,865,460,137))
  833499   1739579   FILTER gender = 'm'
 4167491   1846761   TABLE SCAN name WHERE (gender = 'm') AND (((id >= 3656) AND (id <= 3901342)) AND TRUE)
 2528312   2528312  TABLE SCAN title WHERE ((((((id >= 138935) AND (id <= 2524105)) AND ((id >= 138935) AND (id <= 2524105))) AND ((id >= 138935) AND (id <= 2524105))) AND ((id >= 138935) AND (id <= 2524105))) AND ((id >= 138935) AND (id <= 2524105))) AND TRUE
Native storage
Estimate    Actual  Operator
      34         0  SEQUENCE
       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      8024   INNER JOIN HASH ON cc.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
       4         1     TABLE SCAN info_type WHERE it2.info = 'votes'
      50    191657    INNER JOIN HASH ON mk.movie_id = mi_idx.movie_id
      50     76714    │└DISTRIBUTE GATHER
      50     76714     INNER JOIN HASH ON mk.keyword_id = k.id
      50         7     │└DISTRIBUTE GATHER
 4170000         7      TABLE SCAN keyword WHERE k.keyword IN('murder','violence','blood','gore','death','female-nudity','hospital')
36200000   4519852     TABLE SCAN movie_keyword
     113   1375949    TABLE SCAN movie_info_idx
     254      4386   INNER JOIN HASH ON ci.person_id = n.id
     254   1739579   │└DISTRIBUTE GATHER
  135000   1739579    TABLE SCAN name WHERE (n.gender IS NOT NULL) AND (n.gender = 'm')
      53      7263   INNER JOIN HASH ON cc.movie_id = ci.movie_id
      53   1244716   │└DISTRIBUTE GATHER
       4   1244716    TABLE SCAN cast_info WHERE ci.note IN('(writer)','(head writer)','(written by)','(story)','(story editor)')
      50     10327   INNER JOIN HASH ON cc.movie_id = t.id
      50     10327   │└DISTRIBUTE GATHER
      34     10327    INNER JOIN HASH ON cc.subject_id = cct1.id
      34         1    │└DISTRIBUTE GATHER
 4520000         1     TABLE SCAN comp_cast_type WHERE cct1.kind = 'cast'
     875     13281    INNER JOIN HASH ON cc.status_id = cct2.id
     875         1    │└DISTRIBUTE GATHER
 1380000         1     TABLE SCAN comp_cast_type WHERE cct2.kind = 'complete+verified'
     875     33335    INNER JOIN HASH ON mi.movie_id = cc.movie_id
     875    186594    │└DISTRIBUTE GATHER
     281    186594     INNER JOIN HASH ON mi.info_type_id = it1.id
     281         1     │└DISTRIBUTE GATHER
       -         1      TABLE SCAN info_type WHERE it1.info = 'genres'
     113    186594     TABLE SCAN movie_info WHERE mi.info IN('Horror','Action','Sci-Fi','Thriller','Crime','War')
  134000    131301    TABLE SCAN complete_cast WHERE cc.movie_id IS NOT NULL
       1    147635   FILTER 
 2530000   2520168   TABLE SCAN title
      34         0  └─FILTER 
     254         1    DISTRIBUTE HASH
     254         1    AGGREGATE bloom_filter_agg(bloom_expr(mi.movie_id,mi.movie_id),186594L,2097152L)
     254    186594    SELECT
14800000    131301    DISTRIBUTE HASH
14800000    131301    DISTRIBUTE HASH
14800000    131301    TABLE SCAN complete_cast WHERE cc.movie_id IS NOT NULL
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(info as info) AS Expr1024, MIN(info as info) AS Expr1025, MIN(name as name) AS Expr1026, MIN(title as title) AS Expr1027
       1      8024  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'
       2      8024  INNER JOIN LOOP ON Bmk1018 = Bmk1018
       1      8024  │└TABLE SEEK movie_keyword AS mk WHERE BLOOM(keyword_id as keyword_id)
    2269    338545  INNER JOIN LOOP ON t.id = mk.movie_id
      49    338545  │└TABLE SEEK movie_keyword AS mk
      45      4385  INNER JOIN LOOP ON Bmk1022 = Bmk1022
       1      4385  │└TABLE SEEK title AS t
      45      4385  PROJECT BmkToPage Bmk1022 AS Expr1638
      45      4385  INNER JOIN LOOP ON mi_idx.movie_id = t.id
       1      4385  │└TABLE SEEK title AS t
      45      4385  FILTER gender as gender = 'm'
     110      7247  INNER JOIN LOOP ON Bmk1020 = Bmk1020
       1      7247  │└TABLE SEEK name AS n
     110      7247  PROJECT BmkToPage Bmk1020 AS Expr1635
     110      7247  INNER JOIN LOOP ON ci.person_id = n.id
       1      7247  │└TABLE SEEK name AS n
     110      7247  SORT person_id
     110      7247  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)'
    4015    687649  INNER JOIN LOOP ON Bmk1006 = Bmk1006
       1    687649  │└TABLE SEEK cast_info AS ci
    4015    687649  PROJECT BmkToPage Bmk1006 AS Expr1632
    4015    687649  INNER JOIN LOOP ON mi_idx.movie_id = ci.movie_id
      30    687649  │└TABLE SEEK cast_info AS ci
     132     10291  SORT movie_id
     132     10291  INNER JOIN HASH ON mi.info_type_id = it1.id
       1         1  │└FILTER info as info = 'genres'
     113       113   INNER JOIN LOOP ON Bmk1008 = Bmk1008
       1       113   │└TABLE SEEK info_type AS it1
     113       113   TABLE SEEK info_type AS it1
      93     10291  INNER JOIN LOOP ON mi_idx.movie_id = mi.movie_id
       1     10291  │└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)
   14866     17018  INNER JOIN HASH ON cc.subject_id = cct1.id
       1         1  │└FILTER kind as kind = 'cast'
       4         4   INNER JOIN LOOP ON Bmk1002 = Bmk1002
       1         4   │└TABLE SEEK comp_cast_type AS cct1
       4         4   TABLE SEEK comp_cast_type AS cct1
   29733     17018  INNER JOIN HASH ON cc.status_id = cct2.id
       1         1  │└FILTER kind as kind = 'complete+verified'
       4         4   INNER JOIN LOOP ON Bmk1004 = Bmk1004
       1         4   │└TABLE SEEK comp_cast_type AS cct2
       4         4   TABLE SEEK comp_cast_type AS cct2
   59466     17018  INNER JOIN HASH ON movie_id as movie_id = movie_id as movie_id
  135086     17879  │└TABLE SEEK complete_cast AS cc WHERE BLOOM(subject_id as subject_id) AND BLOOM(status_id as status_id)
   27600     17018  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
  138004     17018  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_59 AS movie_votes, min_60 AS writer, min_61 AS complete_violent_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_29) AS min_62, MIN(info_37) AS min_63, MIN(name) AS min_64, MIN(title) AS min_65
       -      8024  INNER JOIN HASH ON movie_id = id_51
 2528312   2528312  │└DISTRIBUTE HASH ON id_51
 2528312   2528312   PROJECT id AS id_51, title
 2528312   2528312   TABLE SCAN title
       -      8024  INNER JOIN HASH ON person_id = id_47
 4167491   1739579  │└DISTRIBUTE HASH ON id_47
 4167491   1739579   PROJECT id AS id_47, name
 4167491   1739579   FILTER gender = 'm'
 4167491   1739579   TABLE SCAN name
       -     11863  INNER JOIN HASH ON keyword_id = id_23
  134170         7  │└DISTRIBUTE GATHER
  134170         7   PROJECT id AS id_23
  134170         7   FILTER keyword IN('blood','death','female-nudity','gore','hospital','murder','violence')
  134170         7   TABLE SCAN keyword
       -     11863  INNER JOIN HASH ON movie_id = movie_id_43
 4523930     76714  │└DISTRIBUTE HASH ON movie_id_43
 4523930     76714   PROJECT movie_id AS movie_id_43, keyword_id
 4523930     76714   TABLE SCAN movie_keyword
       -      4799  INNER JOIN HASH ON info_type_id_36 = id_18
     113         1  │└DISTRIBUTE GATHER
     113         1   PROJECT id AS id_18
     113         1   FILTER info = 'votes'
     113         1   TABLE SCAN info_type
       -      4799  INNER JOIN HASH ON movie_id = movie_id_35
 1380035     40111  │└DISTRIBUTE HASH ON movie_id_35
 1380035     40111   PROJECT movie_id AS movie_id_35, info_type_id AS info_type_id_36, info AS info_37
 1380035     40111   TABLE SCAN movie_info_idx
       -      4799  INNER JOIN HASH ON info_type_id = id_14
     113         1  │└DISTRIBUTE GATHER
     113         1   PROJECT id AS id_14
     113         1   FILTER info = 'genres'
     113         1   TABLE SCAN info_type
       -      4799  INNER JOIN HASH ON movie_id = movie_id_28
13352148     31606  │└DISTRIBUTE HASH ON movie_id_28
13352148     31606   PROJECT movie_id AS movie_id_28, info_type_id, info AS info_29
13352148     31606   FILTER info IN('Action','Crime','Horror','Sci-Fi','Thriller','War')
13352148     31606   TABLE SCAN movie_info
       -      2766  INNER JOIN HASH ON movie_id = movie_id_10
32619910     12533  │└DISTRIBUTE HASH ON movie_id_10
32619910     12533   PROJECT person_id, movie_id AS movie_id_10
32619910     12533   FILTER note IN('(head writer)','(story editor)','(story)','(writer)','(written by)')
32619910     12533   TABLE SCAN cast_info
       -      1965  INNER JOIN HASH ON status_id = id_4
       4         1  │└DISTRIBUTE GATHER
       4         1   PROJECT id AS id_4
       4         1   FILTER kind = 'complete+verified'
       4         1   TABLE SCAN comp_cast_type
       -      1965  INNER JOIN HASH ON subject_id = id_0
       4         1  │└DISTRIBUTE GATHER
       4         1   PROJECT id AS id_0
       4         1   FILTER kind = 'cast'
       4         1   TABLE SCAN comp_cast_type
  135086      2323  TABLE SCAN complete_cast
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(info), MIN(info), MIN(name), MIN(title)
       1      8024  INNER JOIN LOOP ON id = person_id
       1     11863  │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       1     14655   │└INNER JOIN LOOP ON id = status_id AND (id = status_id)
       1     27522    │└INNER JOIN LOOP ON keyword IN('murder','violence','blood','gore','death','female-nudity','hospital') AND id = subject_id AND (id = subject_id)
       1         1     │└TABLE SCAN comp_cast_type AS cct1 WHERE cct1.kind = 'cast'
       1     37669     INNER JOIN LOOP ON movie_id = id
       1     63386     │└INNER JOIN LOOP ON id = info_type_id
       1     67732      │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       6     63701       │└INNER JOIN LOOP ON id = movie_id AND movie_id = id AND (movie_id = 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     63701        TABLE SEEK title AS t
   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'
  126772     63386     TABLE SEEK complete_cast AS cc
       1         1    TABLE SCAN comp_cast_type AS cct2 WHERE cct2.kind = 'complete+verified'
   14655     14655   TABLE SEEK cast_info AS ci WHERE ci.note IN('(writer)','(head writer)','(written by)','(story)','(story editor)')
   11863     11863  TABLE SEEK name AS n WHERE n.gender = 'm'