PlannerIMDB — JOB-22B

SELECT MIN(cn.name) AS movie_company,
       MIN(mi_idx.info) AS rating,
       MIN(t.title) AS western_violent_movie
FROM 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 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 ('Germany',
                  'German',
                  'USA',
                  'American')
  AND mi_idx.info < '7.0'
  AND t.production_year > 2009
  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 mk.movie_id = mi.movie_id
  AND mk.movie_id = mi_idx.movie_id
  AND mk.movie_id = mc.movie_id
  AND mi.movie_id = mi_idx.movie_id
  AND mi.movie_id = mc.movie_id
  AND mc.movie_id = mi_idx.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;

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,528,890
4.5M
Rank
Estimation Error
Est Err
4,537,699
4.5M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
87,390
87K
Rank
Estimation Error
Est Err
31
31
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
21,714,506
22M
Rank
Estimation Error
Est Err
33,287,083
33M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
15,336,957
15M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
6,837,084
6.8M
Rank
Estimation Error
Est Err
6,172,102
6.2M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
750,972
751K
Rank
Estimation Error
Est Err
32
32
Rank
Estimation Error
Est Err
710,113
710K
Rank
Apache Iceberg
Estimation Error
Est Err
12,766,635
13M
Rank
Estimation Error
Est Err
11,881,633
12M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
5,398,858
5.4M
Rank
Estimation Error
Est Err
41
41
Rank
Estimation Error
Est Err
726,482
726K
Rank
Native storage
Estimation Error
Est Err
379,778
380K
Rank
Estimation Error
Est Err
418,781
419K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
716,613
717K
Rank
Estimation Error
Est Err
31
31
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
78,083
78K
Rank
Estimation Error
Est Err
78,080
78K
Rank
Estimation Error
Est Err
81,656
82K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
82,179
82K
Rank
Estimation Error
Est Err
31
31
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
868,725
869K
Rank
Estimation Error
Est Err
868,721
869K
Rank
Estimation Error
Est Err
971,213
971K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
905,812
906K
Rank
Estimation Error
Est Err
31
31
Rank
Estimation Error
Est Err
0
Rank
Apache Iceberg
Estimation Error
Est Err
1,029,802
1M
Rank
Estimation Error
Est Err
933,428
933K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
1,255,570
1.3M
Rank
Estimation Error
Est Err
47
47
Rank
Estimation Error
Est Err
903,588
904K
Rank

Actual Query Plans

Query Plan per Engine ?
Query Plan
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE min, min, min
       2        31  INNER JOIN HASH ON id = company_type_id
       4         4  │└TABLE SCAN company_type
       1        31  INNER JOIN HASH ON id72 = company_id
       1        39  │└INNER JOIN HASH ON movie_id65 = movie_id57
       2       991   │└INNER JOIN HASH ON id6 = info_type_id58
       1         1    │└TABLE SCAN info_type WHERE info = rating
       1       991    INNER JOIN HASH ON id33 = movie_id57
       3      2061    │└INNER JOIN HASH ON id11 = info_type_id
       1         1     │└TABLE SCAN info_type WHERE info = countries
       2      2175     INNER JOIN HASH ON id33 = movie_id49
       9      3517     │└INNER JOIN HASH ON id16 = kind_id
       2         2      │└TABLE SCAN kind_type WHERE kind17 IN(episode,movie)
      27      3668      INNER JOIN HASH ON id33 = movie_id
     129     37091      │└INNER JOIN HASH ON id21 = keyword_id
       4         3       │└TABLE SCAN keyword WHERE keyword IN(blood,murder,murder - in - title,violence)
 4523930   4523930       TABLE SCAN movie_keyword
  506156      2711      TABLE SCAN title WHERE production_year >= 2010
  565032      1570     TABLE SCAN movie_info WHERE info51 IN(American,German,Germany,USA)
 1180576       634    TABLE SCAN movie_info_idx WHERE info < 7.0
  248981        21   TABLE SCAN movie_companies WHERE note68 LIKE '%(200%)%' AND  NOT (note68 LIKE '%(USA)%')
  120711        13  TABLE SCAN company_name WHERE country_code <> us
Native storage
Estimate    Actual  Operator
       -         1  PROJECT a1 AS movie_company, a2 AS rating, a3 AS western_violent_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_2374.movie_id,PROJECTION_2374.movie_id,PROJECTION_2374.movie_id,PROJECTION_2374.movie_id,PROJECTION_2374.movie_id,PROJECTION_2374.movie_id) = tuple(PROJECTION_2353.movie_id,PROJECTION_2353.movie_id,PROJECTION_2353.movie_id,PROJECTION_2353.id,PROJECTION_2353.id,PROJECTION_2353.id)
       -    233592  │└PROJECT movie_id AS movie_id_right, id, title
       -    233592   PROJECT movie_id, title, id
       -    233592   INNER JOIN HASH ON PROJECTION_2359.kind_id = PROJECTION_2356.id
       -         7   │└PROJECT id AS id_right
       -         7    PROJECT id
       -         7    TABLE SCAN kind_type WHERE TRUE
       -    233592   PROJECT kind_id, movie_id, title, id AS id_left
       -    233592   PROJECT movie_id, title, id, kind_id
       -    233592   INNER JOIN HASH ON PROJECTION_2365.movie_id = PROJECTION_2362.id
       -    533369   │└PROJECT id, title, kind_id
       -    533369    PROJECT id, title, kind_id
       -    533369    TABLE SCAN title WHERE production_year > 2009
       -   1325361   PROJECT movie_id
       -   1325361   PROJECT movie_id
       -   1325361   INNER JOIN HASH ON PROJECTION_2371.info_type_id = PROJECTION_2368.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
       -   5183566  PROJECT movie_id AS movie_id_left, movie_id AS movie_id_left_2, movie_id AS movie_id_left_3, name, info
       -   5183566  PROJECT name, movie_id, info, movie_id, movie_id
       -   5183566  INNER JOIN HASH ON tuple(PROJECTION_2392.movie_id,PROJECTION_2392.movie_id) = tuple(PROJECTION_2377.movie_id,PROJECTION_2377.movie_id)
       -    299742  │└PROJECT movie_id AS movie_id_right, name
       -    299742   PROJECT name, movie_id
       -    299742   INNER JOIN HASH ON PROJECTION_2383.company_type_id = PROJECTION_2380.id
       -         4   │└PROJECT id
       -         4    PROJECT id
       -         4    TABLE SCAN company_type
       -    299742   PROJECT company_type_id, name, movie_id
       -    299742   PROJECT name, company_type_id, movie_id
       -    299742   INNER JOIN HASH ON PROJECTION_2389.id = PROJECTION_2386.company_id
       -    303271   │└PROJECT company_id, company_type_id, movie_id
       -    303271    PROJECT company_id, company_type_id, movie_id
       -    303271    TABLE SCAN movie_companies WHERE notLike(note,'%(USA)%') AND note LIKE '%(200%)%'
       -    211073   PROJECT id, name
       -    211073   PROJECT id, name
       -    211073   TABLE SCAN company_name WHERE country_code <> 'us'
       -   2376417  PROJECT movie_id_left, movie_id AS movie_id_left_2, info
       -   2376417  PROJECT info, movie_id, movie_id
       -   2376417  INNER JOIN HASH ON PROJECTION_2398.keyword_id = PROJECTION_2395.id
       -    134170  │└PROJECT id
       -    134170   PROJECT id
       -    134170   TABLE SCAN keyword WHERE TRUE
       -   2376417  PROJECT keyword_id, info, movie_id, movie_id
       -   2376417  PROJECT info, movie_id, movie_id, keyword_id
       -   2376417  INNER JOIN HASH ON PROJECTION_2404.movie_id = PROJECTION_2401.movie_id
       -   4523930  │└PROJECT movie_id AS movie_id_right, keyword_id
       -   4523930   PROJECT movie_id, keyword_id
       -   4523930   TABLE SCAN movie_keyword
       -    324117  PROJECT movie_id AS movie_id_left, info
       -    324117  PROJECT info, movie_id
       -    324117  INNER JOIN HASH ON PROJECTION_2410.info_type_id = PROJECTION_2407.id
       -         1  │└PROJECT id
       -         1   PROJECT id
       -         1   TABLE SCAN info_type WHERE info = 'rating'
       -   1172960  PROJECT info_type_id, info, movie_id
       -   1172960  PROJECT movie_id, info, info_type_id
       -   1172960  TABLE SCAN movie_info_idx WHERE info < '7.0'
Native storage
Estimate    Actual  Operator
       -         1  AGGREGATE MIN(#0), MIN(#1), MIN(#2)
       0        31  PROJECT name, info, title
       0        31  INNER JOIN HASH ON id = company_type_id
       0        31  │└INNER JOIN HASH ON id = keyword_id
       0      2606   │└INNER JOIN HASH ON movie_id = movie_id
       0        91    │└INNER JOIN HASH ON info_type_id = id
       2         1     │└FILTER id <= 110
       2         1      TABLE SCAN info_type WHERE info = 'countries'
       7        91     INNER JOIN HASH ON movie_id = movie_id
       5       347     │└INNER JOIN HASH ON id = company_id
      29       488      │└INNER JOIN HASH ON movie_id = movie_id
     142     31111       │└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')
     994     41458        INNER JOIN HASH ON id = movie_id
    4885    324111        │└INNER JOIN HASH ON info_type_id = id
       2         1         │└FILTER id >= 99
       2         1          TABLE SCAN info_type WHERE info = 'rating'
  276007    324111         FILTER movie_id <= 2525745
  276007    324117         TABLE SCAN movie_info_idx WHERE info < '7.0'
  505662     46093        FILTER id BETWEEN 2 AND 2525745
  505662     46096        TABLE SCAN title WHERE production_year > 2009
  521825      1770       TABLE SCAN movie_companies WHERE ( NOT contains(note,'(USA)')) AND (note LIKE '%(200%)%')
   46999       437      TABLE SCAN company_name WHERE country_code != 'us'
 2967144       861     FILTER movie_id BETWEEN 2 AND 2525745
 2967144       861     FILTER (info = 'Germany') OR (info = 'German') OR (info = 'USA') OR (info = 'American')
14835720      2079     TABLE SCAN movie_info WHERE info IN('Germany','German','USA','American')
 4523930      3898    TABLE SCAN movie_keyword WHERE movie_id <= 2525745
   26834         3   FILTER (keyword = 'murder') OR (keyword = 'murder-in-title') OR (keyword = 'blood') OR (keyword = 'violence')
  134170      1371   TABLE SCAN keyword WHERE keyword IN('murder','murder-in-title','blood','violence')
       4         1  TABLE SCAN company_type WHERE id <= 2
Apache Iceberg
Estimate    Actual  Operator
       1         1  PROJECT movie_company, rating, western_violent_movie
       1         1  AGGREGATE MIN(name), MIN(info), MIN(title)
    7666        10  DISTRIBUTE GATHER
    7666        10  AGGREGATE MIN(name), MIN(info), MIN(title)
    7666        31  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')
   26834        32  INNER JOIN HASH ON movie_id = id AND movie_id = id AND movie_id = id AND movie_id = id
   26834     40185  │└DISTRIBUTE GATHER
   26834     40185   INNER JOIN HASH ON id = keyword_id
   26834         3   │└DISTRIBUTE GATHER
   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')
   45898   4137827   INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id AND movie_id = movie_id
   25628     62374   │└DISTRIBUTE GATHER
   25628     62374    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'
   25628    258207    INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id
   25628    114885    │└DISTRIBUTE GATHER
   25628    114885     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'
  122571    114885     INNER JOIN HASH ON movie_id = movie_id
  104366    248388     │└DISTRIBUTE GATHER
  104366    248388      INNER JOIN HASH ON id = company_type_id
       4         4      │└TABLE SCAN company_type
  104366    248388      INNER JOIN HASH ON id = company_id
   47000    126230      │└DISTRIBUTE GATHER
   47000    126230       FILTER country_code <> 'us'
  234997    234997       TABLE SCAN company_name WHERE country_code <> 'us'
  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 (((company_id >= 4) AND (company_id <= 234995)) AND TRUE)) AND (((company_type_id >= 1) AND (company_type_id <= 4)) AND company_type_id IN(1,2,3,4))
 2967144    588764     FILTER info IN('Germany','German','USA','American')
14835720   1355825     TABLE SCAN movie_info WHERE (info IN('Germany','German','USA','American') AND (((movie_id >= 82) AND (movie_id <= 2525666)) AND TRUE)) AND (((info_type_id >= 8) AND (info_type_id <= 8)) AND info_type_id IN 8)
  276007   1172960    FILTER info < '7.0'
 1380035   1380035    TABLE SCAN movie_info_idx WHERE ((info < '7.0') AND ((((movie_id >= 114) AND (movie_id <= 2525502)) AND ((movie_id >= 114) AND (movie_id <= 2525502))) 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 >= 114) AND (movie_id <= 2525471)) AND ((movie_id >= 114) AND (movie_id <= 2525471))) AND ((movie_id >= 114) AND (movie_id <= 2525471))) AND TRUE) AND (((keyword_id >= 137) AND (keyword_id <= 875)) AND keyword_id IN(875,865,137))
  180594    533369  FILTER production_year > 2009
 2528312   2528312  TABLE SCAN title WHERE ((production_year > 2009) AND ((((((id >= 10496) AND (id <= 2525471)) AND ((id >= 10496) AND (id <= 2525471))) AND ((id >= 10496) AND (id <= 2525471))) AND ((id >= 10496) AND (id <= 2525471))) 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         1  DISTRIBUTE GATHER
       1         1  AGGREGATE MIN(cn.name), MIN(mi_idx.info), MIN(t.title)
    1530        31  INNER JOIN HASH ON mi.info_type_id = it1.id
    1530         1  │└DISTRIBUTE GATHER
 4520000         1   TABLE SCAN info_type WHERE it1.info = 'countries'
    1530        34  INNER JOIN HASH ON mc.movie_id = mi.movie_id
    1530    669336  │└DISTRIBUTE GATHER
  134000    669336   TABLE SCAN movie_info WHERE mi.info IN('Germany','German','USA','American')
    1530        50  INNER JOIN HASH ON mi_idx.info_type_id = it2.id
    1530         1  │└DISTRIBUTE GATHER
       7         1   TABLE SCAN info_type WHERE it2.info = 'rating'
    1530       149  INNER JOIN HASH ON mc.movie_id = mi_idx.movie_id
    1530        62  │└DISTRIBUTE GATHER
     492        62   INNER JOIN HASH ON mc.company_id = cn.id
     492        95   │└DISTRIBUTE GATHER
     476        95    INNER JOIN HASH ON mc.company_type_id = ct.id
     476         4    │└DISTRIBUTE GATHER
       4         4     TABLE SCAN company_type
     476        95    INNER JOIN HASH ON mk.movie_id = mc.movie_id
     476      3517    │└DISTRIBUTE GATHER
     186      3517     INNER JOIN HASH ON t.kind_id = kt.id
     186         2     │└DISTRIBUTE GATHER
 1380000         2      TABLE SCAN kind_type WHERE kt.kind IN('movie','episode')
     186      4037     INNER JOIN HASH ON mk.movie_id = t.id
     186     37091     │└DISTRIBUTE GATHER
     176     37091      INNER JOIN HASH ON mk.keyword_id = k.id
     176         3      │└DISTRIBUTE GATHER
     113         3       TABLE SCAN keyword WHERE k.keyword IN('murder','murder-in-title','blood','violence')
14800000   4519843      TABLE SCAN movie_keyword
     113    531554     TABLE SCAN title WHERE (t.production_year IS NOT NULL) AND (t.production_year > 2009L)
  235000    244695    TABLE SCAN movie_companies WHERE (mc.note IS NOT NULL) AND ( NOT contains(mc.note,'(USA)')) AND mc.note LIKE '%(200%)%'
 2610000    123973   TABLE SCAN company_name WHERE (cn.country_code IS NOT NULL) AND ( NOT (cn.country_code = 'us'))
 2530000    747672  TABLE SCAN movie_info_idx WHERE mi_idx.info < '7.0'
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(name as name) AS Expr1022, MIN(info as info) AS Expr1023, MIN(title as title) AS Expr1024
       1        31  FILTER info as info = 'rating'
       1        92  INNER JOIN LOOP ON Bmk1006 = Bmk1006
       1        92  │└TABLE SEEK info_type AS it2
       1        92  INNER JOIN LOOP ON mi_idx.info_type_id = it2.id
       1        92  │└TABLE SEEK info_type AS it2
       1        92  INNER JOIN LOOP ON t.id = mi_idx.movie_id
       1        92  │└TABLE SEEK movie_info_idx AS mi_idx WHERE info as info < '7.0'
       1        34  FILTER kind as kind = 'episode' OR kind as kind = 'movie'
       1        35  INNER JOIN LOOP ON Bmk1010 = Bmk1010
       1        35  │└TABLE SEEK kind_type AS kt
       1        35  INNER JOIN LOOP ON t.kind_id = kt.id
       1        35  │└TABLE SEEK kind_type AS kt
       1        35  INNER JOIN LOOP ON Bmk1020 = Bmk1020
       0        35  │└TABLE SEEK title AS t WHERE production_year as production_year > 2009
       8     65436  PROJECT BmkToPage Bmk1020 AS Expr1082
       8     65436  INNER JOIN LOOP ON mk.movie_id = t.id
       1     65436  │└TABLE SEEK title AS t
       8     65436  FILTER country_code as country_code <> 'us'
      15     70725  INNER JOIN LOOP ON Bmk1000 = Bmk1000
       1     70725  │└TABLE SEEK company_name AS cn
      15     70725  INNER JOIN LOOP ON mc.company_id = cn.id
       1     70725  │└TABLE SEEK company_name AS cn
      15     70725  FILTER  NOT note as note LIKE '%(USA)%' AND note as note LIKE '%(200%)%'
     133    249339  INNER JOIN LOOP ON Bmk1012 = Bmk1012
       1    249339  │└TABLE SEEK movie_companies AS mc
     133    249339  PROJECT BmkToPage Bmk1012 AS Expr1080
     133    249339  INNER JOIN LOOP ON mk.movie_id = mc.movie_id
       9    249339  │└TABLE SEEK movie_companies AS mc
      13     23042  FILTER info as info = 'American' OR info as info = 'German' OR info as info = 'Germany' OR info as info = 'USA'
     308     44297  INNER JOIN LOOP ON mi.movie_id = mi.movie_id AND Uniq1015 = Uniq1015
       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 m40
       1         1   TABLE SCAN info_type AS it1 WHERE info as info = 'countries'
     362     37091  INNER JOIN LOOP ON Bmk1018 = Bmk1018
       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_53 AS rating, min_54 AS western_violent_movie
       1         1  AGGREGATE MIN(min_55) AS min, MIN(min_56) AS min_53, MIN(min_57) AS min_54
       -        16  DISTRIBUTE GATHER
       -        16  AGGREGATE MIN(name) AS min_55, MIN(info_36) AS min_56, MIN(title) AS min_57
       -        31  INNER JOIN HASH ON kind_id = id_17
       7         2  │└DISTRIBUTE GATHER
       7         2   PROJECT id AS id_17
       7         2   FILTER kind IN('episode','movie')
       7         2   TABLE SCAN kind_type
       -        32  INNER JOIN HASH ON movie_id = id_46
  176706    533274  │└DISTRIBUTE HASH ON id_46
  176706    533274   PROJECT id AS id_46, title, kind_id
  176706    533274   FILTER production_year > 2009
  176706    533274   TABLE SCAN title
       -     40185  INNER JOIN HASH ON keyword_id = id_13
  134170         3  │└DISTRIBUTE GATHER
  134170         3   PROJECT id AS id_13
  134170         3   FILTER keyword IN('blood','murder','murder-in-title','violence')
  134170         3   TABLE SCAN keyword
       -     40185  INNER JOIN HASH ON movie_id = movie_id_42
 4523930     37091  │└DISTRIBUTE HASH ON movie_id_42
 4523930     37091   PROJECT movie_id AS movie_id_42, keyword_id
 4523930     37091   TABLE SCAN movie_keyword
       -     22559  INNER JOIN HASH ON info_type_id_35 = id_8
     113         1  │└DISTRIBUTE GATHER
     113         1   PROJECT id AS id_8
     113         1   FILTER info = 'rating'
     113         1   TABLE SCAN info_type
       -     22559  INNER JOIN HASH ON movie_id = movie_id_34
 1380035     18183  │└DISTRIBUTE HASH ON movie_id_34
 1380035     18183   PROJECT movie_id AS movie_id_34, info_type_id AS info_type_id_35, info AS info_36
 1380035     18183   FILTER info < '7.0'
 1380035     18183   TABLE SCAN movie_info_idx
       -     22559  INNER JOIN HASH ON info_type_id = id_4
     113         1  │└DISTRIBUTE GATHER
     113         1   PROJECT id AS id_4
     113         1   FILTER info = 'countries'
     113         1   TABLE SCAN info_type
       -     22559  INNER JOIN HASH ON movie_id = movie_id_27
13352148     11742  │└DISTRIBUTE HASH ON movie_id_27
13352148     11742   PROJECT movie_id AS movie_id_27, info_type_id
13352148     11742   FILTER info IN('American','German','Germany','USA')
13352148     11742   TABLE SCAN movie_info
       -    248388  INNER JOIN HASH ON company_type_id = id_0
       4         4  │└DISTRIBUTE GATHER
       4         4   PROJECT id AS id_0
       4         4   TABLE SCAN company_type
       -    248388  INNER JOIN HASH ON id = company_id
 2348216    303271  │└DISTRIBUTE HASH ON company_id
 2348216    303271   FILTER  NOT (note LIKE '%(USA)%') AND (note LIKE '%(200%)%')
 2348216    303271   TABLE SCAN movie_companies
  105537    126230  FILTER country_code <> 'us'
  105537    126230  TABLE SCAN company_name
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(name), MIN(info), MIN(title)
       1        31  INNER JOIN LOOP ON id = info_type_id
       1        92  │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       1        34   │└INNER JOIN LOOP ON id = info_type_id
       2        37    │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       1        62     │└INNER JOIN LOOP ON id = company_type_id AND (id = company_type_id)
       1        62      │└INNER JOIN LOOP ON id = company_id
       2        95       │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       8      3517        │└INNER JOIN LOOP ON id = kind_id AND (id = kind_id)
      29      4040         │└INNER JOIN LOOP ON 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 title AS t WHERE t.production_year > 2009
       2         2         TABLE SCAN kind_type AS kt WHERE kt.kind IN('movie','episode')
    3517      3517        TABLE SEEK movie_companies AS mc WHERE (mc.note NOT  LIKE '%(USA)%') AND (mc.note LIKE '%(200%)%')
      95        95       TABLE SEEK company_name AS cn WHERE cn.country_code <> 'us'
       4         1      TABLE SCAN company_type AS ct
     124        62     TABLE SEEK movie_info AS mi WHERE mi.info IN('Germany','German','USA','American')
      37        37    TABLE SEEK info_type AS it1 WHERE it1.info = 'countries'
      68        92   TABLE SEEK movie_info_idx AS mi_idx WHERE mi_idx.info < '7.0'
      92        92  TABLE SEEK info_type AS it2 WHERE it2.info = 'rating'