PlannerIMDB — JOB-20A

SELECT MIN(t.title) AS complete_downey_ironman_movie
FROM job.complete_cast AS cc,
     job.comp_cast_type AS cct1,
     job.comp_cast_type AS cct2,
     job.char_name AS chn,
     job.cast_info AS ci,
     job.keyword AS k,
     job.kind_type AS kt,
     job.movie_keyword AS mk,
     job.name AS n,
     job.title AS t
WHERE cct1.kind = 'cast'
  AND cct2.kind LIKE '%complete%'
  AND chn.name NOT LIKE '%Sherlock%'
  AND (chn.name LIKE '%Tony%Stark%'
       OR chn.name LIKE '%Iron%Man%')
  AND k.keyword IN ('superhero',
                    'sequel',
                    'second-part',
                    'marvel-comics',
                    'based-on-comic',
                    'tv-special',
                    'fight',
                    'violence')
  AND kt.kind = 'movie'
  AND t.production_year > 1950
  AND kt.id = t.kind_id
  AND t.id = mk.movie_id
  AND t.id = ci.movie_id
  AND t.id = cc.movie_id
  AND mk.movie_id = ci.movie_id
  AND mk.movie_id = cc.movie_id
  AND ci.movie_id = cc.movie_id
  AND chn.id = ci.person_role_id
  AND n.id = ci.person_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
9,057,127
9.1M
Rank
Estimation Error
Est Err
9,199,734
9.2M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
1,034,446
1M
Rank
Estimation Error
Est Err
33
33
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
47,492,326
47M
Rank
Estimation Error
Est Err
70,765,480
71M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
43,382,983
43M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
27,296,033
27M
Rank
Estimation Error
Est Err
27,328,627
27M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
872,890
873K
Rank
Estimation Error
Est Err
35
35
Rank
Estimation Error
Est Err
560,635
561K
Rank
Apache Iceberg
Estimation Error
Est Err
49,630,618
50M
Rank
Estimation Error
Est Err
46,252,583
46M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
6,992,482
7M
Rank
Estimation Error
Est Err
43
43
Rank
Estimation Error
Est Err
13,550,742
14M
Rank
Native storage
Estimation Error
Est Err
4,384,277
4.4M
Rank
Estimation Error
Est Err
4,516,940
4.5M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
3,385,041
3.4M
Rank
Estimation Error
Est Err
33
33
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
1,239,879
1.2M
Rank
Estimation Error
Est Err
1,239,875
1.2M
Rank
Estimation Error
Est Err
1,331,847
1.3M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
1,289,867
1.3M
Rank
Estimation Error
Est Err
33
33
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
3,008,519
3M
Rank
Estimation Error
Est Err
3,008,510
3M
Rank
Estimation Error
Est Err
4,485,377
4.5M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
3,958,099
4M
Rank
Estimation Error
Est Err
35
35
Rank
Estimation Error
Est Err
0
Rank
Apache Iceberg
Estimation Error
Est Err
4,711,036
4.7M
Rank
Estimation Error
Est Err
189
189
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
4,711,094
4.7M
Rank
Estimation Error
Est Err
49
49
Rank
Estimation Error
Est Err
4,711,048
4.7M
Rank

Actual Query Plans

Query Plan per Engine ?
Query Plan
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE min
       2        33  INNER JOIN HASH ON id70 = person_id
       2        33  │└INNER JOIN HASH ON id = status_id
       2         2   │└TABLE SCAN comp_cast_type WHERE kind LIKE '%complete%'
       1        33   INNER JOIN HASH ON id6 = subject_id
       1         1   │└TABLE SCAN comp_cast_type WHERE kind = cast
       1        33   INNER JOIN HASH ON id28 = movie_id64
       1        63   │└INNER JOIN HASH ON id53 = person_role_id
     498    473597    │└INNER JOIN HASH ON id28 = movie_id45
      58     15994     │└INNER JOIN HASH ON id11 = kind_id
       1         1      │└TABLE SCAN kind_type WHERE kind = movie
     230     17277      INNER JOIN HASH ON id28 = movie_id
     244     35548      │└INNER JOIN HASH ON id16 = keyword_id
       8         8       │└TABLE SCAN keyword WHERE keyword BETWEEN based - on - comic AND violence AND keyword IN(based - on - comic,fight,marvel - comics,second - part,sequel,superhero,tv - special,violence)
 4523930   4523930       TABLE SCAN movie_keyword
 2286344     13798      TABLE SCAN title WHERE production_year >= 1951
17485064    351883     TABLE SCAN cast_info
    2126         9    TABLE SCAN char_name WHERE name LIKE '%Tony%Stark%' OR name LIKE '%Iron%Man%' AND  NOT (name LIKE '%Sherlock%')
  135086         4   TABLE SCAN complete_cast
 4167491   4167491  TABLE SCAN name
Native storage
Estimate    Actual  Operator
       -         1  PROJECT a1 AS complete_downey_ironman_movie
       -         1  AGGREGATE MIN(title) AS a1
       -         0  PROJECT title
       -         0  PROJECT title
       -         0  INNER JOIN HASH ON tuple(PROJECTION_1958.movie_id,PROJECTION_1958.movie_id,PROJECTION_1958.id) = tuple(PROJECTION_1943.movie_id,PROJECTION_1943.movie_id,PROJECTION_1943.movie_id)
       -     85941  │└PROJECT movie_id AS movie_id_right
       -     85941   PROJECT movie_id
       -     85941   INNER JOIN HASH ON PROJECTION_1955.id = PROJECTION_1946.status_id
       -     85941   │└PROJECT status_id, movie_id
       -     85941    PROJECT status_id, movie_id
       -     85941    INNER JOIN HASH ON PROJECTION_1952.subject_id = PROJECTION_1949.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
       -         2   PROJECT id
       -         2   PROJECT id
       -         2   TABLE SCAN comp_cast_type WHERE kind LIKE '%complete%'
       -         0  PROJECT movie_id_left, movie_id AS movie_id_left_2, id, title
       -         0  PROJECT movie_id, movie_id, title, id
       -         0  INNER JOIN HASH ON PROJECTION_1964.kind_id = PROJECTION_1961.id
       -         1  │└PROJECT id AS id_right
       -         1   PROJECT id
       -         1   TABLE SCAN kind_type WHERE kind = 'movie'
       -         0  PROJECT kind_id, movie_id, movie_id, title, id_left
       -         0  PROJECT movie_id, movie_id, title, id, kind_id
       -         0  INNER JOIN HASH ON PROJECTION_1970.keyword_id = PROJECTION_1967.id
       -    134170  │└PROJECT id AS id_right
       -    134170   PROJECT id
       -    134170   TABLE SCAN keyword WHERE TRUE
       -         0  PROJECT keyword_id, movie_id, movie_id, title, id_left, kind_id
       -         0  PROJECT movie_id, movie_id, keyword_id, title, id, kind_id
       -         0  INNER JOIN HASH ON tuple(PROJECTION_1976.movie_id,PROJECTION_1976.id) = tuple(PROJECTION_1973.movie_id,PROJECTION_1973.movie_id)
       -   4523930  │└PROJECT movie_id AS movie_id_right, keyword_id
       -   4523930   PROJECT movie_id, keyword_id
       -   4523930   TABLE SCAN movie_keyword
       -       541  PROJECT movie_id AS movie_id_left, id, title, kind_id
       -       541  PROJECT movie_id, title, id, kind_id
       -       541  INNER JOIN HASH ON PROJECTION_1982.person_id = PROJECTION_1979.id
       -   4167491  │└PROJECT id AS id_right
       -   4167491   PROJECT id
       -   4167491   TABLE SCAN name
       -       541  PROJECT person_id, movie_id, title, id_left, kind_id
       -       541  PROJECT movie_id, person_id, title, id, kind_id
       -       541  INNER JOIN HASH ON PROJECTION_1988.person_role_id = PROJECTION_1985.id
       -        30  │└PROJECT id AS id_right
       -        30   PROJECT id
       -        30   TABLE SCAN char_name WHERE notLike(name,'%Sherlock%') AND (name LIKE '%Tony%Stark%' OR name LIKE '%Iron%Man%')
       -  34299027  PROJECT person_role_id, movie_id, person_id, title, id AS id_left, kind_id
       -  34299027  PROJECT movie_id, person_role_id, person_id, title, id, kind_id
       -  34299027  INNER JOIN HASH ON PROJECTION_1994.movie_id = PROJECTION_1991.id
       -   2287271  │└PROJECT id, title, kind_id
       -   2287271   PROJECT id, title, kind_id
       -   2287271   TABLE SCAN title WHERE production_year > 1950
       -  36244344  PROJECT movie_id, person_role_id, person_id
       -  36244344  PROJECT movie_id, person_role_id, person_id
       -  36244344  TABLE SCAN cast_info
Native storage
Estimate    Actual  Operator
       -         1  AGGREGATE MIN(#0)
     311        33  PROJECT title
     311        33  INNER JOIN HASH ON id = person_id
     268        33  │└INNER JOIN HASH ON id = person_role_id
    1344    532809   │└INNER JOIN HASH ON movie_id = movie_id
      92      6016    │└INNER JOIN HASH ON id = keyword_id
     447    978322     │└INNER JOIN HASH ON movie_id = movie_id
     245     27939      │└INNER JOIN HASH ON status_id = id
       1         2       │└FILTER id >= 3
       1         2        TABLE SCAN comp_cast_type WHERE contains(kind,'complete')
     982     27939       INNER JOIN HASH ON subject_id = id
       1         1       │└FILTER id <= 2
       1         1        TABLE SCAN comp_cast_type WHERE kind = 'cast'
    3928     40293       INNER JOIN HASH ON kind_id = id
       1         1       │└TABLE SCAN kind_type WHERE kind = 'movie'
   27501     40293       INNER JOIN HASH ON id = movie_id
  135086    132439       │└TABLE SCAN complete_cast WHERE movie_id <= 2525971
  505662     29923       FILTER id BETWEEN 285 AND 2525971
  505662     29926       TABLE SCAN title WHERE production_year > 1950
 4523930   3695095      TABLE SCAN movie_keyword WHERE movie_id >= 285
   26834         8     FILTER IN ...
  134170    134136     INNER JOIN HASH ON keyword = #0
       0         8     │└SCAN MATERIALISED
  134170    134136     TABLE SCAN keyword WHERE keyword IN('superhero','sequel','second-part','marvel-comics','based-on-comic','tv-special','fight','violence')
36244344    392659    TABLE SCAN cast_info WHERE movie_id >= 285 AND movie_id <= 2525971
  628067         5   TABLE SCAN char_name WHERE ( NOT contains(name,'Sherlock')) AND ((name LIKE '%Tony%Stark%') OR (name LIKE '%Iron%Man%'))
 4167491         5  TABLE SCAN "name" WHERE id <= 4061926
Apache Iceberg
Estimate    Actual  Operator
       1         1  PROJECT complete_downey_ironman_movie
       1         1  AGGREGATE MIN(title)
   49591        10  DISTRIBUTE GATHER
   49591        10  AGGREGATE MIN(title)
   49591        33  INNER JOIN HASH ON id = kind_id
       2         1  │└DISTRIBUTE GATHER
       2         1   FILTER kind = 'movie'
       7         7   DISTRIBUTE ROUND ROBIN
       7         7   TABLE SCAN kind_type WHERE kind = 'movie'
  173569        33  INNER JOIN HASH ON movie_id = id AND movie_id = id AND movie_id = id
  173569        33  │└DISTRIBUTE HASH ON movie_id, movie_id, movie_id
  173569        33   INNER JOIN HASH ON person_id = id
  173569        33   │└DISTRIBUTE HASH ON person_id
  173569        33    INNER JOIN HASH ON id = keyword_id
   26834         8    │└DISTRIBUTE GATHER
   26834         8     FILTER keyword IN('superhero','sequel','second-part','marvel-comics','based-on-comic','tv-special','fight','violence')
  134170    134170     DISTRIBUTE ROUND ROBIN
  134170    134170     TABLE SCAN keyword WHERE keyword IN('superhero','sequel','second-part','marvel-comics','based-on-comic','tv-special','fight','violence')
  867845      1330    INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id
  484568        24    │└DISTRIBUTE HASH ON movie_id, movie_id
  484568        24     INNER JOIN HASH ON person_role_id = id
  484568   3409569     │└DISTRIBUTE HASH ON person_role_id
  484568   3409569      INNER JOIN HASH ON movie_id = movie_id
   33771     85941      │└DISTRIBUTE GATHER
   33771     85941       INNER JOIN HASH ON id = status_id
       1         2       │└DISTRIBUTE GATHER
       1         2        FILTER kind LIKE '%complete%'
       4         4        DISTRIBUTE ROUND ROBIN
       4         4        TABLE SCAN comp_cast_type WHERE kind LIKE '%complete%'
   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 >= 3) AND (status_id <= 4)) AND status_id IN(3,4))
36244344  36244344      TABLE SCAN cast_info WHERE ((movie_id >= 285) AND (movie_id <= 2528181)) AND TRUE
  628068        30     DISTRIBUTE HASH ON id
  628068        30     FILTER name NOT  LIKE '%Sherlock%' AND (name LIKE '%Tony%Stark%' OR name LIKE '%Iron%Man%')
 3140339   3140339     TABLE SCAN char_name WHERE (name NOT  LIKE '%Sherlock%' AND (name LIKE '%Tony%Stark%' OR name LIKE '%Iron%Man%')) AND CASE MOD(HASH_REPARTITION id,10) WHEN 0 THEN (((id >= 5) AND (id <= 3140184)) AND TRUE) WHEN 1 THEN (((id >= 15) AND (id <= 3140113)) AND TRUE) WHEN 2 THEN (((id >= 10) AND (id <= 3140201)) AND TRUE) WHEN 3 THEN (((id >= 1) AND (id <= 3139991)) AND TRUE) WHEN 4 THEN (((id >= 21) AND (id <= 3140267)) AND TRUE) WHEN 5 THEN (((id >= 20) AND (id <= ...
 4523930   4523930    DISTRIBUTE HASH ON movie_id, movie_id
 4523930   4523930    TABLE SCAN movie_keyword WHERE CASE MOD(HASH_REPARTITION(movie_id,movie_id),10) WHEN 1 THEN ((((movie_id >= 1834714) AND (movie_id <= 1834714)) AND ((movie_id >= 1834714) AND (movie_id <= 1834714))) AND struct(movie_id,movie_id) IN( < expr > )) WHEN 3 THEN ((((movie_id >= 1089898) AND (movie_id <= 2464747)) AND ((movie_id >= 1089898) AND (movie_id <= 2464747))) AND struct(movie_id,movie_id) IN( < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < exp...
 4167491   4167491   DISTRIBUTE HASH ON id
 4167491   4167491   TABLE SCAN name WHERE CASE MOD(HASH_REPARTITION id,10) WHEN 2 THEN (((id >= 1704351) AND (id <= 1857974)) AND id IN(1704351,1857974,1704351,1857974,1704351,1857974,1704351,1857974,1704351,1857974)) WHEN 6 THEN (((id >= 1278273) AND (id <= 1278273)) AND id IN(1278273,1278273,1278273,1278273,1278273)) WHEN 8 THEN (((id >= 414711) AND (id <= 414711)) AND id IN(414711,414711,414711,414711,414711,414711,414711,414711,414711,414711,414711,414711,414711,414711,414711,414711,4...
 1246097   1106604  DISTRIBUTE HASH ON id, id, id
 1246097   1106604  FILTER production_year > 1950
 2528312   1297449  TABLE SCAN title WHERE (((production_year > 1950) AND CASE MOD(HASH_REPARTITION(id,id,id),10) WHEN 0 THEN (((((id >= 1989594) AND (id <= 1989594)) AND ((id >= 1989594) AND (id <= 1989594))) AND ((id >= 1989594) AND (id <= 1989594))) AND struct(id,id,id) IN( < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > )...
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(t.title)
       1         2  DISTRIBUTE GATHER
       1         2  AGGREGATE MIN(t.title)
    7680        33  INNER JOIN HASH ON ci.person_role_id = chn.id
    7680    255146  │└DISTRIBUTE GATHER
     466    255146   INNER JOIN HASH ON ci.person_id = n.id
     466    255146   │└DISTRIBUTE GATHER
     466    255146    INNER JOIN HASH ON cc.movie_id = ci.movie_id
     466      6016    │└DISTRIBUTE GATHER
     466      6016     INNER JOIN HASH ON t.kind_id = kt.id
     466         1     │└DISTRIBUTE GATHER
       4         1      TABLE SCAN kind_type WHERE kt.kind = 'movie'
     317      6980     INNER JOIN HASH ON cc.movie_id = t.id
     317      8765     │└DISTRIBUTE GATHER
 3230000      8765      INNER JOIN HASH ON cc.subject_id = cct1.id
 3230000         1      │└DISTRIBUTE GATHER
36200000         1       TABLE SCAN comp_cast_type WHERE cct1.kind = 'cast'
 9690000     12810      INNER JOIN HASH ON cc.status_id = cct2.id
 9690000         2      │└DISTRIBUTE GATHER
 4170000         2       TABLE SCAN comp_cast_type WHERE contains(cct2.kind,'complete')
 9690000     12810      INNER JOIN HASH ON mk.movie_id = cc.movie_id
 9690000     35548      │└DISTRIBUTE GATHER
 9690000     35548       INNER JOIN HASH ON mk.keyword_id = k.id
 9690000         8       │└DISTRIBUTE GATHER
       7         8        TABLE SCAN keyword WHERE k.keyword IN('superhero','sequel','second-part','marvel-comics','based-on-comic','tv-special','fight','violence')
 2530000   4519843       TABLE SCAN movie_keyword
 3140000    131283      TABLE SCAN complete_cast WHERE cc.movie_id IS NOT NULL
       4    921365     TABLE SCAN title WHERE (t.production_year IS NOT NULL) AND (t.production_year > 1950L)
  135000  17563961    TABLE SCAN cast_info WHERE ci.person_role_id IS NOT NULL
  134000   4159542   TABLE SCAN name
 4520000        27  TABLE SCAN char_name WHERE ( NOT contains(chn.name,'Sherlock')) AND (chn.name LIKE '%Tony%Stark%' OR chn.name LIKE '%Iron%Man%')
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(title as title) AS Expr1020
       1        35  FILTER kind as kind = 'cast'
       3        35  INNER JOIN LOOP ON Bmk1002 = Bmk1002
       1        35  │└TABLE SEEK comp_cast_type AS cct1
       3        35  INNER JOIN LOOP ON cc.subject_id = cct1.id
       1        35  │└TABLE SEEK comp_cast_type AS cct1
       3        35  FILTER kind as kind LIKE '%complete%'
       3        35  INNER JOIN LOOP ON Bmk1004 = Bmk1004
       1        35  │└TABLE SEEK comp_cast_type AS cct2
       3        35  INNER JOIN LOOP ON cc.status_id = cct2.id
       1        35  │└TABLE SEEK comp_cast_type AS cct2
       3        35  INNER JOIN HASH ON mk.keyword_id = k.id
       8         8  │└TABLE SCAN keyword AS k WHERE keyword as keyword = 'based-on-comic' OR keyword as keyword = 'fight' OR keyword as keyword = 'marvel-comics' OR keyword as keyword = 'second-part' OR keyword as keyword = 'sequel' OR keyword as keyword = 'superhero' OR keyword as keyword = 'tv-special' OR keyword as keyword = 'violence'
       2        35  INNER JOIN LOOP ON Bmk1000 = Bmk1000
       1        35  │└TABLE SEEK complete_cast AS cc
       2        35  INNER JOIN LOOP ON t.id = cc.movie_id
       1        35  │└TABLE SEEK complete_cast AS cc
       1        66  FILTER  NOT name as name LIKE '%Sherlock%' AND (name as name LIKE '%Tony%Stark%' OR name as name LIKE '%Iron%Man%')
     922    473597  INNER JOIN LOOP ON Bmk1006 = Bmk1006
       1    473597  │└TABLE SEEK char_name AS chn
     922    473597  PROJECT BmkToPage Bmk1006 AS Expr1284
     922    473597  INNER JOIN LOOP ON ci.person_role_id = chn.id
       1    473597  │└TABLE SEEK char_name AS chn
    2051    985102  INNER JOIN HASH ON t.kind_id = kt.id
       1         1  │└TABLE SCAN kind_type AS kt WHERE kind as kind = 'movie'
    1230    985102  INNER JOIN LOOP ON Bmk1008 = Bmk1008
       1    985102  │└TABLE SEEK cast_info AS ci
    1230    985102  PROJECT BmkToPage Bmk1008 AS Expr1281
    1230    985102  INNER JOIN LOOP ON t.id = ci.movie_id
      30    985102  │└TABLE SEEK cast_info AS ci
      40     15994  FILTER production_year as production_year > 1950
      45     19806  INNER JOIN LOOP ON Bmk1018 = Bmk1018
       1     19806  │└TABLE SEEK title AS t WHERE BLOOM(kind_id as kind_id)
     452     35548  PROJECT BmkToPage Bmk1018 AS Expr1278
     452     35548  INNER JOIN LOOP ON mk.movie_id = t.id
       1     35548  │└TABLE SEEK title AS t
     452     35548  TABLE SEEK movie_keyword AS mk WHERE BLOOM(keyword_id as keyword_id)
Apache Iceberg
Estimate    Actual  Operator
       1         ∞  PROJECT min AS complete_downey_ironman_movie
       1         1  AGGREGATE MIN(min_50) AS min
       -        16  DISTRIBUTE GATHER
       -        16  AGGREGATE MIN(title) AS min_50
       -        33  INNER JOIN HASH ON kind_id = id_22
       7         1  │└DISTRIBUTE GATHER
       7         1   PROJECT id AS id_22
       7         1   FILTER kind = 'movie'
       7         1   TABLE SCAN kind_type
       -        33  INNER JOIN HASH ON movie_id = id_42
 1219274    507898  │└DISTRIBUTE HASH ON id_42
 1219274    507898   PROJECT id AS id_42, title, kind_id
 1219274    507898   FILTER production_year > 1950
 1219274    507898   TABLE SCAN title
       -        33  INNER JOIN HASH ON person_id = id_32
 4167491   4167491  │└DISTRIBUTE HASH ON id_32
 4167491   4167491   PROJECT id AS id_32
 4167491   4167491   TABLE SCAN name
       -        33  INNER JOIN HASH ON keyword_id = id_18
  134170         8  │└DISTRIBUTE GATHER
  134170         8   PROJECT id AS id_18
  134170         8   FILTER keyword IN('based-on-comic','fight','marvel-comics','second-part','sequel','superhero','tv-special','violence')
  134170         8   TABLE SCAN keyword
       -        33  INNER JOIN HASH ON movie_id = movie_id_28
 4523930     35548  │└DISTRIBUTE HASH ON movie_id_28
 4523930     35548   PROJECT movie_id AS movie_id_28, keyword_id
 4523930     35548   TABLE SCAN movie_keyword
       -         8  INNER JOIN HASH ON person_role_id = id_9
 3140339        30  │└DISTRIBUTE HASH ON id_9
 3140339        30   PROJECT id AS id_9
 3140339        30   FILTER  NOT (name LIKE '%Sherlock%') AND ((name LIKE '%Tony%Stark%') OR (name LIKE '%Iron%Man%'))
 3140339        30   TABLE SCAN char_name
       -         8  INNER JOIN HASH ON movie_id = movie_id_14
36244344        53  │└DISTRIBUTE HASH ON movie_id_14
36244344        53   PROJECT person_id, movie_id AS movie_id_14, person_role_id
36244344        53   TABLE SCAN cast_info
       -         4  INNER JOIN HASH ON status_id = id_4
       4         2  │└DISTRIBUTE GATHER
       4         2   PROJECT id AS id_4
       4         2   FILTER kind LIKE '%complete%'
       4         2   TABLE SCAN comp_cast_type
       -         4  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         4  TABLE SCAN complete_cast
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(title)
       1        33  INNER JOIN LOOP ON id = person_id
       1        33  │└INNER JOIN LOOP ON id = person_role_id
      13    532809   │└INNER JOIN LOOP ON movie_id = id
       3      6016    │└INNER JOIN LOOP ON keyword IN('superhero','sequel','second-part','marvel-comics','based-on-comic','tv-special','fight','violence') AND id = status_id AND (id = status_id)
       1         2     │└TABLE SCAN comp_cast_type AS cct2 WHERE cct2.kind LIKE '%complete%'
      24     12032     INNER JOIN LOOP ON keyword IN('superhero','sequel','second-part','marvel-comics','based-on-comic','tv-special','fight','violence') AND id = subject_id AND (id = subject_id)
       1         1     │└TABLE SCAN comp_cast_type AS cct1 WHERE cct1.kind = 'cast'
      94     16742     INNER JOIN LOOP ON movie_id = id
      70     31988     │└INNER JOIN LOOP ON keyword IN('superhero','sequel','second-part','marvel-comics','based-on-comic','tv-special','fight','violence') AND id = kind_id AND (id = kind_id)
       1         1      │└TABLE SCAN kind_type AS kt WHERE kt.kind = 'movie'
     488     63214      INNER JOIN LOOP ON id = movie_id
     540     71096      │└INNER JOIN LOOP ON keyword_id = id
      16        16       │└TABLE SEEK keyword AS k
    4880     71096       TABLE SEEK movie_keyword AS mk
   71096     71096      TABLE SEEK title AS t WHERE t.production_year > 1950
   63976     31988     TABLE SEEK complete_cast AS cc
  234624    532837    TABLE SEEK cast_info AS ci
  532809    532809   TABLE SEEK char_name AS chn WHERE (chn.name NOT  LIKE '%Sherlock%') AND ((chn.name LIKE '%Tony%Stark%') OR (chn.name LIKE '%Iron%Man%'))
      33        33  TABLE SEEK name AS n