PlannerIMDB — JOB-28B

SELECT MIN(cn.name) AS movie_company,
       MIN(mi_idx.info) AS rating,
       MIN(t.title) AS complete_euro_dark_movie
FROM job.complete_cast AS cc,
     job.comp_cast_type AS cct1,
     job.comp_cast_type AS cct2,
     job.company_name AS cn,
     job.company_type AS ct,
     job.info_type AS it1,
     job.info_type AS it2,
     job.keyword AS k,
     job.kind_type AS kt,
     job.movie_companies AS mc,
     job.movie_info AS mi,
     job.movie_info_idx AS mi_idx,
     job.movie_keyword AS mk,
     job.title AS t
WHERE cct1.kind = 'crew'
  AND cct2.kind != 'complete+verified'
  AND cn.country_code != '[us]'
  AND it1.info = 'countries'
  AND it2.info = 'rating'
  AND k.keyword IN ('murder',
                    'murder-in-title',
                    'blood',
                    'violence')
  AND kt.kind IN ('movie',
                  'episode')
  AND mc.note NOT LIKE '%(USA)%'
  AND mc.note LIKE '%(200%)%'
  AND mi.info IN ('Sweden',
                  'Germany',
                  'Swedish',
                  'German')
  AND mi_idx.info > '6.5'
  AND t.production_year > 2005
  AND kt.id = t.kind_id
  AND t.id = mi.movie_id
  AND t.id = mk.movie_id
  AND t.id = mi_idx.movie_id
  AND t.id = mc.movie_id
  AND t.id = cc.movie_id
  AND mk.movie_id = mi.movie_id
  AND mk.movie_id = mi_idx.movie_id
  AND mk.movie_id = mc.movie_id
  AND mk.movie_id = cc.movie_id
  AND mi.movie_id = mi_idx.movie_id
  AND mi.movie_id = mc.movie_id
  AND mi.movie_id = cc.movie_id
  AND mc.movie_id = mi_idx.movie_id
  AND mc.movie_id = cc.movie_id
  AND mi_idx.movie_id = cc.movie_id
  AND k.id = mk.keyword_id
  AND it1.id = mi.info_type_id
  AND it2.id = mi_idx.info_type_id
  AND ct.id = mc.company_type_id
  AND cn.id = mc.company_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
4,527,948
4.5M
Rank
Estimation Error
Est Err
4,535,428
4.5M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
80,854
81K
Rank
Estimation Error
Est Err
148
148
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
21,464,454
21M
Rank
Estimation Error
Est Err
22,786,252
23M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
11,315,554
11M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
6,261,676
6.3M
Rank
Estimation Error
Est Err
7,133,238
7.1M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
1,300,904
1.3M
Rank
Estimation Error
Est Err
150
150
Rank
Estimation Error
Est Err
237,645
238K
Rank
Apache Iceberg
Estimation Error
Est Err
12,543,852
13M
Rank
Estimation Error
Est Err
6,372,296
6.4M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
508,933
509K
Rank
Estimation Error
Est Err
158
158
Rank
Estimation Error
Est Err
510,819
511K
Rank
Native storage
Estimation Error
Est Err
391,318
391K
Rank
Estimation Error
Est Err
404,535
405K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
536,342
536K
Rank
Estimation Error
Est Err
148
148
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
92,594
93K
Rank
Estimation Error
Est Err
92,588
93K
Rank
Estimation Error
Est Err
109,281
109K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
115,483
115K
Rank
Estimation Error
Est Err
148
148
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
184,044
184K
Rank
Estimation Error
Est Err
184,040
184K
Rank
Estimation Error
Est Err
223,187
223K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
221,131
221K
Rank
Estimation Error
Est Err
148
148
Rank
Estimation Error
Est Err
0
Rank
Apache Iceberg
Estimation Error
Est Err
1,488,273
1.5M
Rank
Estimation Error
Est Err
8,371
8.4K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
1,491,736
1.5M
Rank
Estimation Error
Est Err
164
164
Rank
Estimation Error
Est Err
1,488,225
1.5M
Rank

Actual Query Plans

Query Plan per Engine ?
Query Plan
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE min, min, min
       1       148  INNER JOIN HASH ON id = company_type_id
       4         4  │└TABLE SCAN company_type
       1       148  INNER JOIN HASH ON id6 = status_id
       3         3  │└TABLE SCAN comp_cast_type WHERE kind != complete + verified
       1       148  INNER JOIN HASH ON id11 = info_type_id53
       1         1  │└TABLE SCAN info_type WHERE info = rating
       1       148  INNER JOIN HASH ON id89 = company_id
       1       150  │└INNER JOIN HASH ON id16 = subject_id
       1         1   │└TABLE SCAN comp_cast_type WHERE kind = crew
       1       882   INNER JOIN HASH ON movie_id82 = movie_id52
       1        60   │└INNER JOIN HASH ON movie_id52 = movie_id75
       1       202    │└INNER JOIN HASH ON id21 = kind_id
       2         2     │└TABLE SCAN kind_type WHERE kind22 IN(episode,movie)
       1       213     INNER JOIN HASH ON id59 = movie_id52
       1       722     │└INNER JOIN HASH ON movie_id44 = movie_id52
       2      1960      │└INNER JOIN HASH ON id26 = info_type_id
       1         1       │└TABLE SCAN info_type WHERE info = countries
      40      3967       INNER JOIN HASH ON movie_id = movie_id44
     129     37091       │└INNER JOIN HASH ON id31 = keyword_id
       4         3        │└TABLE SCAN keyword WHERE keyword IN(blood,murder,murder - in - title,violence)
 4523930   4523930        TABLE SCAN movie_keyword
   72440      2938       TABLE SCAN movie_info WHERE info46 IN(German,Germany,Sweden,Swedish)
  264062       457      TABLE SCAN movie_info_idx WHERE info > 6.5
 1049348       118     TABLE SCAN title WHERE production_year >= 2006
   50284        32    TABLE SCAN complete_cast
  248981       391   TABLE SCAN movie_companies WHERE note85 LIKE '%(200%)%' AND  NOT (note85 LIKE '%(USA)%')
  120711        67  TABLE SCAN company_name WHERE country_code <> us
Native storage
Estimate    Actual  Operator
       -         1  PROJECT a1 AS movie_company, a2 AS rating, a3 AS complete_euro_dark_movie
       -         1  AGGREGATE MIN(name) AS a1, MIN(info) AS a2, MIN(title) AS a3
       -         0  PROJECT name, info, title
       -         0  PROJECT name, info, title
       -         0  INNER JOIN HASH ON tuple(PROJECTION_3631.movie_id,PROJECTION_3631.movie_id,PROJECTION_3631.movie_id,PROJECTION_3631.movie_id,PROJECTION_3631.movie_id,PROJECTION_3631.movie_id,PROJECTION_3631.movie_id,PROJECTION_3631.movie_id,PROJECTION_3631.movie_id) = tuple(PROJECTION_3586.movie_id,PROJECTION_3586.movie_id,PROJECTION_3586.movie_id,PROJECTION_3586.movie_id,PROJECTION_3586.movie_id,PROJECTION_3586.movie_id,PROJECTION_3586.id,PROJECTION_3586.id,PROJECTION_3586.id)
       -      5703  │└PROJECT movie_id_right, movie_id AS movie_id_right_2, id, name, title
       -      5703   PROJECT movie_id, movie_id, name, title, id
       -      5703   INNER JOIN HASH ON PROJECTION_3592.company_type_id = PROJECTION_3589.id
       -         4   │└PROJECT id AS id_right
       -         4    PROJECT id
       -         4    TABLE SCAN company_type
       -      5703   PROJECT company_type_id, movie_id, movie_id, name, title, id_left
       -      5703   PROJECT movie_id, movie_id, company_type_id, name, title, id
       -      5703   INNER JOIN HASH ON PROJECTION_3598.kind_id = PROJECTION_3595.id
       -         7   │└PROJECT id AS id_right
       -         7    PROJECT id
       -         7    TABLE SCAN kind_type WHERE TRUE
       -      5703   PROJECT kind_id, movie_id, movie_id, company_type_id, name, title, id AS id_left
       -      5703   PROJECT movie_id, movie_id, company_type_id, name, title, id, kind_id
       -      5703   INNER JOIN HASH ON tuple(PROJECTION_3604.movie_id,PROJECTION_3604.movie_id) = tuple(PROJECTION_3601.id,PROJECTION_3601.id)
       -   1012920   │└PROJECT id, title, kind_id
       -   1012920    PROJECT id, title, kind_id
       -   1012920    TABLE SCAN title WHERE production_year > 2005
       -     20546   PROJECT movie_id, movie_id, company_type_id, name
       -     20546   PROJECT movie_id, movie_id, company_type_id, name
       -     20546   INNER JOIN HASH ON PROJECTION_3616.movie_id = PROJECTION_3607.movie_id
       -    299742   │└PROJECT movie_id AS movie_id_right, company_type_id, name
       -    299742    PROJECT movie_id, company_type_id, name
       -    299742    INNER JOIN HASH ON PROJECTION_3613.company_id = PROJECTION_3610.id
       -    211073    │└PROJECT id, name
       -    211073     PROJECT id, name
       -    211073     TABLE SCAN company_name WHERE country_code <> 'us'
       -    303271    PROJECT company_id, movie_id, company_type_id
       -    303271    PROJECT movie_id, company_id, company_type_id
       -    303271    TABLE SCAN movie_companies WHERE notLike(note,'%(USA)%') AND note LIKE '%(200%)%'
       -     42432   PROJECT movie_id AS movie_id_left
       -     42432   PROJECT movie_id
       -     42432   INNER JOIN HASH ON PROJECTION_3628.id = PROJECTION_3619.status_id
       -     49145   │└PROJECT status_id, movie_id
       -     49145    PROJECT status_id, movie_id
       -     49145    INNER JOIN HASH ON PROJECTION_3625.subject_id = PROJECTION_3622.id
       -         1    │└PROJECT id
       -         1     PROJECT id
       -         1     TABLE SCAN comp_cast_type WHERE kind = 'crew'
       -    135086    PROJECT subject_id, status_id, movie_id
       -    135086    PROJECT subject_id, status_id, movie_id
       -    135086    TABLE SCAN complete_cast
       -         3   PROJECT id
       -         3   PROJECT id
       -         3   TABLE SCAN comp_cast_type WHERE kind <> 'complete+verified'
       -   1933346  PROJECT movie_id AS movie_id_left, movie_id AS movie_id_left_2, movie_id AS movie_id_left_3, info
       -   1933346  PROJECT movie_id, info, movie_id, movie_id
       -   1933346  INNER JOIN HASH ON tuple(PROJECTION_3643.movie_id,PROJECTION_3643.movie_id) = tuple(PROJECTION_3634.movie_id,PROJECTION_3634.movie_id)
       -   1325361  │└PROJECT movie_id AS movie_id_right
       -   1325361   PROJECT movie_id
       -   1325361   INNER JOIN HASH ON PROJECTION_3640.info_type_id = PROJECTION_3637.id
       -         1   │└PROJECT id
       -         1    PROJECT id
       -         1    TABLE SCAN info_type WHERE info = 'countries'
       -  14835720   PROJECT info_type_id, movie_id
       -  14835720   PROJECT movie_id, info_type_id
       -  14835720   TABLE SCAN movie_info WHERE TRUE
       -   1610200  PROJECT movie_id_left, movie_id AS movie_id_left_2, info
       -   1610200  PROJECT info, movie_id, movie_id
       -   1610200  INNER JOIN HASH ON PROJECTION_3649.keyword_id = PROJECTION_3646.id
       -    134170  │└PROJECT id
       -    134170   PROJECT id
       -    134170   TABLE SCAN keyword WHERE TRUE
       -   1610200  PROJECT keyword_id, info, movie_id, movie_id
       -   1610200  PROJECT info, movie_id, movie_id, keyword_id
       -   1610200  INNER JOIN HASH ON PROJECTION_3655.movie_id = PROJECTION_3652.movie_id
       -   4523930  │└PROJECT movie_id AS movie_id_right, keyword_id
       -   4523930   PROJECT movie_id, keyword_id
       -   4523930   TABLE SCAN movie_keyword
       -    194914  PROJECT movie_id AS movie_id_left, info
       -    194914  PROJECT info, movie_id
       -    194914  INNER JOIN HASH ON PROJECTION_3661.info_type_id = PROJECTION_3658.id
       -         1  │└PROJECT id
       -         1   PROJECT id
       -         1   TABLE SCAN info_type WHERE info = 'rating'
       -    308267  PROJECT info_type_id, info, movie_id
       -    308267  PROJECT movie_id, info, info_type_id
       -    308267  TABLE SCAN movie_info_idx WHERE info > '6.5'
Native storage
Estimate    Actual  Operator
       -         1  AGGREGATE MIN(#0), MIN(#1), MIN(#2)
       0       148  PROJECT name, info, title
       0       148  INNER JOIN HASH ON id = keyword_id
       0     15989  │└INNER JOIN HASH ON movie_id = id
       0       165   │└INNER JOIN HASH ON id = info_type_id
       0       253    │└INNER JOIN HASH ON movie_id = id
       0      4055     │└INNER JOIN HASH ON id = company_type_id
       0      4055      │└INNER JOIN HASH ON id = status_id
       0      4207       │└INNER JOIN HASH ON id = subject_id
       0     15201        │└INNER JOIN HASH ON id = company_id
       1     15685         │└INNER JOIN HASH ON movie_id = id
       7      8370          │└INNER JOIN HASH ON kind_id = id
       1         2           │└FILTER (kind = 'movie') OR (kind = 'episode')
       7         7            TABLE SCAN kind_type WHERE kind IN('movie','episode')
      54      8719           INNER JOIN HASH ON id = movie_id
     265     47053           │└INNER JOIN HASH ON movie_id = movie_id
    4885    194900            │└INNER JOIN HASH ON info_type_id = id
       2         1             │└FILTER id >= 99
       2         1              TABLE SCAN info_type WHERE info = 'rating'
  276007    194900             FILTER movie_id BETWEEN 285 AND 2525745
  276007    194914             TABLE SCAN movie_info_idx WHERE info > '6.5'
  135086    132439            FILTER movie_id <= 2525745
  135086    132439            TABLE SCAN complete_cast WHERE movie_id <= 2525793
  505662      6408           FILTER id BETWEEN 285 AND 2525745
  505662      6408           TABLE SCAN title WHERE production_year > 2005
  521825     12072          FILTER movie_id >= 285
  521825     12072          TABLE SCAN movie_companies WHERE ( NOT contains(note,'(USA)')) AND (note LIKE '%(200%)%')
   46999      1304         TABLE SCAN company_name WHERE country_code != 'us'
       1         1        FILTER id <= 2
       1         1        TABLE SCAN comp_cast_type WHERE kind = 'crew'
       1         1       FILTER id >= 3
       1         1       TABLE SCAN comp_cast_type WHERE kind != 'complete+verified'
       4         1      TABLE SCAN company_type WHERE id <= 2
 2967144        90     FILTER movie_id BETWEEN 285 AND 2525745
 2967144        90     FILTER (info = 'Sweden') OR (info = 'Germany') OR (info = 'Swedish') OR (info = 'German')
14835720     41034     TABLE SCAN movie_info WHERE info IN('Sweden','Germany','Swedish','German')
       2         1    FILTER id <= 110
       2         1    TABLE SCAN info_type WHERE info = 'countries'
 4523930      2114   TABLE SCAN movie_keyword WHERE movie_id >= 285 AND movie_id <= 2525745
   26834         3  FILTER (keyword = 'murder') OR (keyword = 'murder-in-title') OR (keyword = 'blood') OR (keyword = 'violence')
  134170      1021  TABLE SCAN keyword WHERE keyword IN('murder','murder-in-title','blood','violence')
Apache Iceberg
Estimate    Actual  Operator
       1         1  PROJECT movie_company, rating, complete_euro_dark_movie
       1         1  AGGREGATE MIN(name), MIN(info), MIN(title)
    4242        10  DISTRIBUTE GATHER
    4242        10  AGGREGATE MIN(name), MIN(info), MIN(title)
    4242       148  INNER JOIN HASH ON id = kind_id
       2         2  │└DISTRIBUTE GATHER
       2         2   FILTER (kind = 'movie') OR (kind = 'episode')
       7         7   DISTRIBUTE ROUND ROBIN
       7         7   TABLE SCAN kind_type WHERE (kind = 'movie') OR (kind = 'episode')
   14850       161  INNER JOIN HASH ON movie_id = id AND movie_id = id AND movie_id = id AND movie_id = id AND movie_id = id
   14850      1233  │└DISTRIBUTE GATHER
   14850      1233   INNER JOIN HASH ON keyword_id = id
   14850    155130   │└DISTRIBUTE GATHER
   14850    155130    INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id AND movie_id = movie_id AND movie_id = movie_id
    8292      1132    │└DISTRIBUTE GATHER
    8292      1132     INNER JOIN HASH ON id = info_type_id
      23         1     │└DISTRIBUTE GATHER
      23         1      FILTER info = 'rating'
     113       113      DISTRIBUTE ROUND ROBIN
     113       113      TABLE SCAN info_type WHERE info = 'rating'
    8292      1603     INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id AND movie_id = movie_id
    8292      2030     │└DISTRIBUTE GATHER
    8292      2030      INNER JOIN HASH ON id = info_type_id
      23         1      │└DISTRIBUTE GATHER
      23         1       FILTER info = 'countries'
     113       113       DISTRIBUTE ROUND ROBIN
     113       113       TABLE SCAN info_type WHERE info = 'countries'
   39662      2030      INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id
   33771     18744      │└DISTRIBUTE GATHER
   33771     18744       INNER JOIN HASH ON id = company_type_id
       4         4       │└TABLE SCAN company_type
   33771     18744       INNER JOIN HASH ON company_id = id
   33771     20603       │└DISTRIBUTE GATHER
   33771     20603        INNER JOIN HASH ON movie_id = movie_id
   33771     42432        │└DISTRIBUTE GATHER
   33771     42432         INNER JOIN HASH ON id = status_id
       1         3         │└DISTRIBUTE GATHER
       1         3          FILTER kind <> 'complete+verified'
       4         4          DISTRIBUTE ROUND ROBIN
       4         4          TABLE SCAN comp_cast_type WHERE kind <> 'complete+verified'
   67543     49145         INNER JOIN HASH ON id = subject_id
       1         1         │└DISTRIBUTE GATHER
       1         1          FILTER kind = 'crew'
       4         4          DISTRIBUTE ROUND ROBIN
       4         4          TABLE SCAN comp_cast_type WHERE kind = 'crew'
  135086    135086         DISTRIBUTE ROUND ROBIN
  135086    135086         TABLE SCAN complete_cast WHERE (((subject_id >= 2) AND (subject_id <= 2)) AND subject_id IN 2) AND (((status_id >= 1) AND (status_id <= 3)) AND status_id IN(1,2,3))
  521826    303271        FILTER note NOT  LIKE '%(USA)%' AND note LIKE '%(200%)%'
 2609129   2609129        TABLE SCAN movie_companies WHERE ((note NOT  LIKE '%(USA)%' AND note LIKE '%(200%)%') AND (((movie_id >= 285) AND (movie_id <= 2528312)) AND TRUE)) AND (((company_type_id >= 1) AND (company_type_id <= 4)) AND company_type_id IN(1,2,3,4))
   47000     66758       FILTER country_code <> 'us'
  234997    122880       TABLE SCAN company_name WHERE (country_code <> 'us') AND (((id >= 2) AND (id <= 70660)) AND TRUE)
 2967144     59116      FILTER info IN('Sweden','Germany','Swedish','German')
14835720   1355825      TABLE SCAN movie_info WHERE (info IN('Sweden','Germany','Swedish','German') AND ((((movie_id >= 1577) AND (movie_id <= 2525009)) AND ((movie_id >= 1577) AND (movie_id <= 2525009))) AND TRUE)) AND (((info_type_id >= 8) AND (info_type_id <= 8)) AND info_type_id IN 8)
  276007    308267     FILTER info > '6.5'
 1380035   1380035     TABLE SCAN movie_info_idx WHERE ((info > '6.5') AND (((((movie_id >= 1619) AND (movie_id <= 2523918)) AND ((movie_id >= 1619) AND (movie_id <= 2523918))) AND ((movie_id >= 1619) AND (movie_id <= 2523918))) AND TRUE)) AND (((info_type_id >= 101) AND (info_type_id <= 101)) AND info_type_id IN 101)
 4523930   4523930    TABLE SCAN movie_keyword WHERE (((((movie_id >= 1619) AND (movie_id <= 2507902)) AND ((movie_id >= 1619) AND (movie_id <= 2507902))) AND ((movie_id >= 1619) AND (movie_id <= 2507902))) AND ((movie_id >= 1619) AND (movie_id <= 2507902))) AND TRUE
   26834         3   FILTER keyword IN('murder','murder-in-title','blood','violence')
  134170    134170   DISTRIBUTE ROUND ROBIN
  134170    134170   TABLE SCAN keyword WHERE keyword IN('murder','murder-in-title','blood','violence') AND (((id >= 1) AND (id <= 133200)) AND TRUE)
  252832    902952  FILTER production_year > 2005
 2528312   2282552  TABLE SCAN title WHERE ((production_year > 2005) AND (((((((id >= 391736) AND (id <= 2507902)) AND ((id >= 391736) AND (id <= 2507902))) AND ((id >= 391736) AND (id <= 2507902))) AND ((id >= 391736) AND (id <= 2507902))) AND ((id >= 391736) AND (id <= 2507902))) AND TRUE)) AND (((kind_id >= 1) AND (kind_id <= 7)) AND kind_id IN(1,7))
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(cn.name), MIN(mi_idx.info), MIN(t.title)
       1         2  DISTRIBUTE GATHER
       1         2  AGGREGATE MIN(cn.name), MIN(mi_idx.info), MIN(t.title)
     296       148  INNER JOIN HASH ON mk.movie_id = t.id
     296      1233  │└DISTRIBUTE GATHER
     281      1233   INNER JOIN HASH ON mi.movie_id = mk.movie_id
     281     37091   │└DISTRIBUTE GATHER
      90     37091    INNER JOIN HASH ON mk.keyword_id = k.id
      90         3    │└DISTRIBUTE GATHER
  235000         3     TABLE SCAN keyword WHERE k.keyword IN('murder','murder-in-title','blood','violence')
       4   4519843    TABLE SCAN movie_keyword
      90      1132   INNER JOIN HASH ON mi.movie_id = mi_idx.movie_id
      90      2030   │└DISTRIBUTE GATHER
  178000      2030    INNER JOIN HASH ON mi.info_type_id = it1.id
  178000         1    │└DISTRIBUTE GATHER
14800000         1     TABLE SCAN info_type WHERE it1.info = 'countries'
  173000      4116    INNER JOIN HASH ON mc.movie_id = mi.movie_id
  173000    134239    │└DISTRIBUTE GATHER
     113    134239     TABLE SCAN movie_info WHERE mi.info IN('Sweden','Germany','Swedish','German')
   67500     18744    INNER JOIN HASH ON mc.company_type_id = ct.id
   67500         4    │└DISTRIBUTE GATHER
 1380000         4     TABLE SCAN company_type
   67500     18744    INNER JOIN HASH ON mc.company_id = cn.id
   67500     20603    │└DISTRIBUTE GATHER
  276000     20603     INNER JOIN HASH ON cc.movie_id = mc.movie_id
  276000     42432     │└DISTRIBUTE GATHER
     176     42432      INNER JOIN HASH ON cc.status_id = cct2.id
     176         3      │└DISTRIBUTE GATHER
  134000         3       TABLE SCAN comp_cast_type WHERE  NOT (cct2.kind = 'complete+verified')
  255000     49136      INNER JOIN HASH ON cc.subject_id = cct1.id
  255000         1      │└DISTRIBUTE GATHER
       7         1       TABLE SCAN comp_cast_type WHERE cct1.kind = 'crew'
 2530000     49136      TABLE SCAN complete_cast WHERE cc.movie_id IS NOT NULL
 4520000    301689     TABLE SCAN movie_companies WHERE (mc.note IS NOT NULL) AND ( NOT contains(mc.note,'(USA)')) AND mc.note LIKE '%(200%)%'
     113    124084    TABLE SCAN company_name WHERE (cn.country_code IS NOT NULL) AND ( NOT (cn.country_code = 'us'))
  178000    194114   INNER JOIN HASH ON mi_idx.info_type_id = it2.id
  178000         1   │└DISTRIBUTE GATHER
       4         1    TABLE SCAN info_type WHERE it2.info = 'rating'
 2610000    307190   TABLE SCAN movie_info_idx WHERE mi_idx.info > '6.5'
     281    719729  INNER JOIN HASH ON t.kind_id = kt.id
     281         2  │└DISTRIBUTE GATHER
       4         2   TABLE SCAN kind_type WHERE kt.kind IN('movie','episode')
  135000    825480  TABLE SCAN title WHERE (t.production_year IS NOT NULL) AND (t.production_year > 2005L)
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(name as name) AS Expr1028, MIN(info as info) AS Expr1029, MIN(title as title) AS Expr1030
       1       148  FILTER kind as kind = 'episode' OR kind as kind = 'movie'
       1       161  INNER JOIN LOOP ON Bmk1016 = Bmk1016
       1       161  │└TABLE SEEK kind_type AS kt
       1       161  INNER JOIN LOOP ON t.kind_id = kt.id
       1       161  │└TABLE SEEK kind_type AS kt
       1       161  INNER JOIN LOOP ON Bmk1026 = Bmk1026
       1       161  │└TABLE SEEK title AS t WHERE production_year as production_year > 2005
       1      1233  PROJECT BmkToPage Bmk1026 AS Expr1105
       1      1233  INNER JOIN LOOP ON mk.movie_id = t.id
       1      1233  │└TABLE SEEK title AS t
       1      1233  FILTER info as info = 'rating'
       1      1726  INNER JOIN LOOP ON Bmk1012 = Bmk1012
       1      1726  │└TABLE SEEK info_type AS it2
       1      1726  INNER JOIN LOOP ON mi_idx.info_type_id = it2.id
       1      1726  │└TABLE SEEK info_type AS it2
       1      1726  INNER JOIN LOOP ON mk.movie_id = mi_idx.movie_id
       1      1726  │└TABLE SEEK movie_info_idx AS mi_idx WHERE info as info > '6.5'
       1      1574  FILTER country_code as country_code <> 'us'
       1      1615  INNER JOIN LOOP ON Bmk1006 = Bmk1006
       1      1615  │└TABLE SEEK company_name AS cn
       1      1615  INNER JOIN LOOP ON mc.company_id = cn.id
       1      1615  │└TABLE SEEK company_name AS cn
       1      1615  FILTER  NOT note as note LIKE '%(USA)%' AND note as note LIKE '%(200%)%'
      13      3394  INNER JOIN LOOP ON Bmk1018 = Bmk1018
       1      3394  │└TABLE SEEK movie_companies AS mc
      13      3394  PROJECT BmkToPage Bmk1018 AS Expr1104
      13      3394  INNER JOIN LOOP ON mk.movie_id = mc.movie_id
       9      3394  │└TABLE SEEK movie_companies AS mc
       1       176  FILTER kind as kind <> 'complete+verified'
       1       224  INNER JOIN LOOP ON Bmk1004 = Bmk1004
       1       224  │└TABLE SEEK comp_cast_type AS cct2
       1       224  INNER JOIN LOOP ON cc.status_id = cct2.id
       1       224  │└TABLE SEEK comp_cast_type AS cct2
       1       224  FILTER kind as kind = 'crew'
       3       976  INNER JOIN LOOP ON Bmk1002 = Bmk1002
       1       976  │└TABLE SEEK comp_cast_type AS cct1
       3       976  INNER JOIN LOOP ON cc.subject_id = cct1.id
       1       976  │└TABLE SEEK comp_cast_type AS cct1
       3       976  INNER JOIN LOOP ON Bmk1000 = Bmk1000
       1       976  │└TABLE SEEK complete_cast AS cc
       3       976  INNER JOIN LOOP ON mk.movie_id = cc.movie_id
       1       976  │└TABLE SEEK complete_cast AS cc
       2      1960  FILTER info as info = 'German' OR info as info = 'Germany' OR info as info = 'Sweden' OR info as info = 'Swedish'
     308     44297  INNER JOIN LOOP ON mi.movie_id = mi.movie_id AND Uniq1021 = Uniq1021
       1     44297  │└TABLE SEEK movie_info AS mi
     308     44297  INNER JOIN LOOP ON it1.id = mi.info_type_id AND mk.movie_id = mi.movie_id
       1     44297  │└TABLE SEEK movie_info AS mi
     362     37091  INNER JOIN LOOP ON info as info = 'countries'
       1         1  │└MATERIALISE AS m47
       1         1   TABLE SCAN info_type AS it1 WHERE info as info = 'countries'
     362     37091  INNER JOIN LOOP ON Bmk1024 = Bmk1024
       1     37091  │└TABLE SEEK movie_keyword AS mk
     362     37091  INNER JOIN LOOP ON k.id = mk.keyword_id
      90     37091  │└TABLE SEEK movie_keyword AS mk
       4         3  TABLE SCAN keyword AS k WHERE keyword as keyword = 'blood' OR keyword as keyword = 'murder' OR keyword as keyword = 'murder-in-title' OR keyword as keyword = 'violence'
Apache Iceberg
Estimate    Actual  Operator
       1         ∞  PROJECT min AS movie_company, min_68 AS rating, min_69 AS complete_euro_dark_movie
       1         1  AGGREGATE MIN(min_70) AS min, MIN(min_71) AS min_68, MIN(min_72) AS min_69
       -        16  DISTRIBUTE GATHER
       -        16  AGGREGATE MIN(name) AS min_70, MIN(info_51) AS min_71, MIN(title) AS min_72
       -       148  INNER JOIN HASH ON kind_id = id_31
       7         2  │└DISTRIBUTE GATHER
       7         2   PROJECT id AS id_31
       7         2   FILTER kind IN('episode','movie')
       7         2   TABLE SCAN kind_type
       -       161  INNER JOIN HASH ON movie_id = id_61
  247389   1012688  │└DISTRIBUTE HASH ON id_61
  247389   1012688   PROJECT id AS id_61, title, kind_id
  247389   1012688   FILTER production_year > 2005
  247389   1012688   TABLE SCAN title
       -      1233  INNER JOIN HASH ON keyword_id = id_27
  134170         3  │└DISTRIBUTE GATHER
  134170         3   PROJECT id AS id_27
  134170         3   FILTER keyword IN('blood','murder','murder-in-title','violence')
  134170         3   TABLE SCAN keyword
       -      1233  INNER JOIN HASH ON movie_id = movie_id_57
 4523930     37091  │└DISTRIBUTE HASH ON movie_id_57
 4523930     37091   PROJECT movie_id AS movie_id_57, keyword_id
 4523930     37091   TABLE SCAN movie_keyword
       -       645  INNER JOIN HASH ON info_type_id_50 = id_22
     113         1  │└DISTRIBUTE GATHER
     113         1   PROJECT id AS id_22
     113         1   FILTER info = 'rating'
     113         1   TABLE SCAN info_type
       -       645  INNER JOIN HASH ON movie_id = movie_id_49
 1380035      8436  │└DISTRIBUTE HASH ON movie_id_49
 1380035      8436   PROJECT movie_id AS movie_id_49, info_type_id AS info_type_id_50, info AS info_51
 1380035      8436   FILTER info > '6.5'
 1380035      8436   TABLE SCAN movie_info_idx
       -       645  INNER JOIN HASH ON info_type_id = id_18
     113         1  │└DISTRIBUTE GATHER
     113         1   PROJECT id AS id_18
     113         1   FILTER info = 'countries'
     113         1   TABLE SCAN info_type
       -       645  INNER JOIN HASH ON movie_id = movie_id_42
13352148       478  │└DISTRIBUTE HASH ON movie_id_42
13352148       478   PROJECT movie_id AS movie_id_42, info_type_id
13352148       478   FILTER info IN('German','Germany','Sweden','Swedish')
13352148       478   TABLE SCAN movie_info
       -       591  INNER JOIN HASH ON company_type_id = id_13
       4         4  │└DISTRIBUTE GATHER
       4         4   PROJECT id AS id_13
       4         4   TABLE SCAN company_type
       -       591  INNER JOIN HASH ON company_id = id_9
  105537    126230  │└DISTRIBUTE GATHER
  105537    126230   PROJECT id AS id_9, name
  105537    126230   FILTER country_code <> 'us'
  105537    126230   TABLE SCAN company_name
       -       606  INNER JOIN HASH ON movie_id = movie_id_37
 2348216    303271  │└DISTRIBUTE HASH ON movie_id_37
 2348216    303271   PROJECT movie_id AS movie_id_37, company_id, company_type_id
 2348216    303271   FILTER  NOT (note LIKE '%(USA)%') AND (note LIKE '%(200%)%')
 2348216    303271   TABLE SCAN movie_companies
       -        49  INNER JOIN HASH ON status_id = id_4
       2         3  │└DISTRIBUTE GATHER
       2         3   PROJECT id AS id_4
       2         3   FILTER kind <> 'complete+verified'
       2         3   TABLE SCAN comp_cast_type
       -        64  INNER JOIN HASH ON subject_id = id_0
       4         1  │└DISTRIBUTE GATHER
       4         1   PROJECT id AS id_0
       4         1   FILTER kind = 'crew'
       4         1   TABLE SCAN comp_cast_type
  135086        64  TABLE SCAN complete_cast
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(name), MIN(info), MIN(title)
       1       148  INNER JOIN LOOP ON id = info_type_id
       1       149  │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       1      1387   │└INNER JOIN LOOP ON id = company_type_id AND (id = company_type_id)
       1      1387    │└INNER JOIN LOOP ON id = company_id
       1      1422     │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       1       179      │└INNER JOIN LOOP ON keyword IN('murder','murder-in-title','blood','violence') AND id = subject_id AND (id = subject_id)
       1         1       │└TABLE SCAN comp_cast_type AS cct1 WHERE cct1.kind = 'crew'
       1       646       INNER JOIN LOOP ON id = status_id AND (id = status_id)
       1       880       │└INNER JOIN LOOP ON movie_id = id
       1      2312        │└INNER JOIN LOOP ON id = kind_id AND (id = kind_id)
       1      2835         │└INNER JOIN LOOP ON id = movie_id
       1     11708          │└INNER JOIN LOOP ON id = info_type_id
      85     17620           │└INNER JOIN LOOP ON movie_id = movie_id
     135     37091            │└INNER JOIN LOOP ON keyword_id = id
       4         3             │└TABLE SEEK keyword AS k
     915     37091             TABLE SEEK movie_keyword AS mk
   37091     37091            TABLE SEEK movie_info_idx AS mi_idx WHERE mi_idx.info > '6.5'
       4         4           TABLE SEEK info_type AS it2 WHERE it2.info = 'rating'
   11708     11708          TABLE SEEK title AS t WHERE t.production_year > 2005
       2         1         TABLE SCAN kind_type AS kt WHERE kt.kind IN('movie','episode')
    4624      2312        TABLE SEEK complete_cast AS cc
       3         3       TABLE SCAN comp_cast_type AS cct2 WHERE cct2.kind <> 'complete+verified'
     179      1421      TABLE SEEK movie_companies AS mc WHERE (mc.note NOT  LIKE '%(USA)%') AND (mc.note LIKE '%(200%)%')
    1422      1422     TABLE SEEK company_name AS cn WHERE cn.country_code <> 'us'
       4         1    TABLE SCAN company_type AS ct
    1387      1387   TABLE SEEK movie_info AS mi WHERE mi.info IN('Sweden','Germany','Swedish','German')
     149       149  TABLE SEEK info_type AS it1 WHERE it1.info = 'countries'