Planner — IMDB — JOB-20B

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 n.name LIKE '%Downey%Robert%'
  AND t.production_year > 2000
  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
4,588,070
4.6M
Rank
Estimation Error
Est Err
4,629,258
4.6M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
260,575
261K
Rank
Estimation Error
Est Err
17
17
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
42,419,019
42M
Rank
Estimation Error
Est Err
45,244,125
45M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
13,142,681
13M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
13,142,170
13M
Rank
Estimation Error
Est Err
4,685,575
4.7M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
1,474,196
1.5M
Rank
Estimation Error
Est Err
19
19
Rank
Estimation Error
Est Err
1,417,058
1.4M
Rank
Apache Iceberg
Estimation Error
Est Err
49,630,618
50M
Rank
Estimation Error
Est Err
41,623,567
42M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
6,992,450
7M
Rank
Estimation Error
Est Err
27
27
Rank
Estimation Error
Est Err
8,921,711
8.9M
Rank
Native storage
Estimation Error
Est Err
4,117,690
4.1M
Rank
Estimation Error
Est Err
4,070,262
4.1M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
1,316,178
1.3M
Rank
Estimation Error
Est Err
17
17
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
599,365
599K
Rank
Estimation Error
Est Err
599,361
599K
Rank
Estimation Error
Est Err
634,049
634K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
615,843
616K
Rank
Estimation Error
Est Err
17
17
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
1,636,809
1.6M
Rank
Estimation Error
Est Err
1,636,732
1.6M
Rank
Estimation Error
Est Err
1,637,372
1.6M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
3,201,037
3.2M
Rank
Estimation Error
Est Err
17
17
Rank
Estimation Error
Est Err
0
Rank
Apache Iceberg
Estimation Error
Est Err
289,796
290K
Rank
Estimation Error
Est Err
99
99
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
289,836
290K
Rank
Estimation Error
Est Err
33
33
Rank
Estimation Error
Est Err
289,809
290K
Rank

Actual Query Plans

Query Plan per Engine ?
Query Plan
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE min
       1        17  INNER JOIN HASH ON id70 = person_id
       1        33  │└INNER JOIN HASH ON id60 = person_role_id
     148     87208  │ │└INNER JOIN HASH ON id28 = movie_id52
      12      1472  │ │ │└INNER JOIN HASH ON id = status_id
       2         2  │ │ │ │└TABLE SCAN comp_cast_type WHERE kind LIKE '%complete%'
       1      1472  │ │ │ INNER JOIN HASH ON id6 = subject_id
       1         1  │ │ │ │└TABLE SCAN comp_cast_type WHERE kind = cast
       2      1715  │ │ │ INNER JOIN HASH ON id28 = movie_id44
      35      6043  │ │ │ │└INNER JOIN HASH ON id11 = kind_id
       1         1  │ │ │ │ │└TABLE SCAN kind_type WHERE kind = movie
     141      6584  │ │ │ │ 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
 1402423      5178  │ │ │ │ TABLE SCAN title WHERE production_year >= 2001
  135086      1206  │ │ │ TABLE SCAN complete_cast
17485064     57726  │ │ TABLE SCAN cast_info
    2126        17  │ TABLE SCAN char_name WHERE name LIKE '%Tony%Stark%' OR name LIKE '%Iron%Man%' AND  NOT (name LIKE '%Sherlock%')
    2821         1  TABLE SCAN name WHERE name71 LIKE '%Downey%Robert%'
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_2029.movie_id,PROJECTION_2029.movie_id,PROJECTION_2029.movie_id,PROJECTION_2029.movie_id) = tuple(PROJECTION_2002.movie_id,PROJECTION_2002.movie_id,PROJECTION_2002.id,PROJECTION_2002.id)
       -         9  │└PROJECT movie_id AS movie_id_right, id, title
       -         9  │ PROJECT movie_id, title, id
       -         9  │ INNER JOIN HASH ON PROJECTION_2026.id = PROJECTION_2005.person_role_id
       -        47  │ │└PROJECT person_role_id, movie_id, title, id_right
       -        47  │ │ PROJECT movie_id, person_role_id, title, id
       -        47  │ │ INNER JOIN HASH ON PROJECTION_2023.id = PROJECTION_2008.person_id
       -   4911717  │ │ │└PROJECT person_id, movie_id, person_role_id, title, id_right
       -   4911717  │ │ │ PROJECT movie_id, person_role_id, person_id, title, id
       -   4911717  │ │ │ INNER JOIN HASH ON PROJECTION_2020.movie_id = PROJECTION_2011.id
       -    274015  │ │ │ │└PROJECT id, title
       -    274015  │ │ │ │ PROJECT title, id
       -    274015  │ │ │ │ INNER JOIN HASH ON PROJECTION_2017.kind_id = PROJECTION_2014.id
       -         1  │ │ │ │ │└PROJECT id AS id_right
       -         1  │ │ │ │ │ PROJECT id
       -         1  │ │ │ │ │ TABLE SCAN kind_type WHERE kind = 'movie'
       -   1381453  │ │ │ │ PROJECT kind_id, title, id AS id_left
       -   1381453  │ │ │ │ PROJECT id, title, kind_id
       -   1381453  │ │ │ │ TABLE SCAN title WHERE production_year > 2000
       -  36244344  │ │ │ PROJECT movie_id, person_role_id, person_id
       -  36244344  │ │ │ PROJECT movie_id, person_role_id, person_id
       -  36244344  │ │ │ TABLE SCAN cast_info
       -         2  │ │ PROJECT id AS id_left
       -         2  │ │ PROJECT id
       -         2  │ │ TABLE SCAN name WHERE name LIKE '%Downey%Robert%'
       -        30  │ PROJECT id AS id_left
       -        30  │ PROJECT id
       -        30  │ TABLE SCAN char_name WHERE notLike(name,'%Sherlock%') AND (name LIKE '%Tony%Stark%' OR name LIKE '%Iron%Man%')
       -   1436647  PROJECT movie_id AS movie_id_left, movie_id AS movie_id_left_2
       -   1436647  PROJECT movie_id, movie_id
       -   1436647  INNER JOIN HASH ON PROJECTION_2053.id = PROJECTION_2032.keyword_id
       -   1436647  │└PROJECT keyword_id, movie_id, movie_id
       -   1436647  │ PROJECT movie_id, movie_id, keyword_id
       -   1436647  │ INNER JOIN HASH ON PROJECTION_2050.movie_id = PROJECTION_2035.movie_id
       -     85941  │ │└PROJECT movie_id AS movie_id_right
       -     85941  │ │ PROJECT movie_id
       -     85941  │ │ INNER JOIN HASH ON PROJECTION_2047.id = PROJECTION_2038.status_id
       -     85941  │ │ │└PROJECT status_id, movie_id
       -     85941  │ │ │ PROJECT status_id, movie_id
       -     85941  │ │ │ INNER JOIN HASH ON PROJECTION_2044.subject_id = PROJECTION_2041.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%'
       -   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
Native storage
Estimate    Actual  Operator
       -         1  AGGREGATE MIN(#0)
      62        17  PROJECT title
      62        17  INNER JOIN HASH ON id = person_id
     268        33  │└INNER JOIN HASH ON id = person_role_id
    1344    222518  │ │└INNER JOIN HASH ON movie_id = movie_id
      92      1472  │ │ │└INNER JOIN HASH ON id = keyword_id
     447    294672  │ │ │ │└INNER JOIN HASH ON movie_id = movie_id
     245      4589  │ │ │ │ │└INNER JOIN HASH ON status_id = id
       1         2  │ │ │ │ │ │└FILTER id >= 3
       1         2  │ │ │ │ │ │ TABLE SCAN comp_cast_type WHERE contains(kind,'complete')
     982      4589  │ │ │ │ │ INNER JOIN HASH ON subject_id = id
       1         1  │ │ │ │ │ │└FILTER id <= 2
       1         1  │ │ │ │ │ │ TABLE SCAN comp_cast_type WHERE kind = 'cast'
    3928      6090  │ │ │ │ │ INNER JOIN HASH ON kind_id = id
       1         1  │ │ │ │ │ │└TABLE SCAN kind_type WHERE kind = 'movie'
   27501      6090  │ │ │ │ │ INNER JOIN HASH ON id = movie_id
  135086    132439  │ │ │ │ │ │└TABLE SCAN complete_cast WHERE movie_id <= 2525971
  505662      5237  │ │ │ │ │ FILTER id BETWEEN 285 AND 2525971
  505662      5239  │ │ │ │ │ TABLE SCAN title WHERE production_year > 2000
 4523930   3689305  │ │ │ │ TABLE SCAN movie_keyword WHERE movie_id >= 285
   26834         8  │ │ │ FILTER IN ...
  134170    134058  │ │ │ INNER JOIN HASH ON keyword = #0
       0         8  │ │ │ │└SCAN MATERIALISED
  134170    134058  │ │ │ TABLE SCAN keyword WHERE keyword IN('superhero','sequel','second-part','marvel-comics','based-on-comic','tv-special','fight','violence')
36244344    156631  │ │ 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%'))
  833498         1  FILTER id <= 4061926
  833498         1  TABLE SCAN "name" WHERE name LIKE '%Downey%Robert%'
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        17  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        17  INNER JOIN HASH ON movie_id = id AND movie_id = id AND movie_id = id
  173569        17  │└DISTRIBUTE HASH ON movie_id, movie_id, movie_id
  173569        17  │ 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...
  833499         2  │ DISTRIBUTE HASH ON id
  833499         2  │ FILTER name LIKE '%Downey%Robert%'
 4167491   4167491  │ TABLE SCAN name WHERE name LIKE '%Downey%Robert%' AND 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,4147...
  343129    645078  DISTRIBUTE HASH ON id, id, id
  343129    645078  FILTER production_year > 2000
 2528312   1297449  TABLE SCAN title WHERE (((production_year > 2000) 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 > )) WHEN 3 THEN (((((id >= 2380050) AND (id <= 2380050)) AND ((id >= 2380050) AND (id <= 2380050))) AND ((id >= 2380050) AND (id <= 2380050))) AND struct(id,id,id) IN(...
Native storage
Estimate    Actual  Operator
17600000         0  SEQUENCE
       1         1  ├─AGGREGATE MIN(t.title)
       1         1  │ DISTRIBUTE GATHER
       1         1  │ AGGREGATE MIN(t.title)
    7660        17  │ INNER JOIN HASH ON cc.movie_id = ci.movie_id
    7660         9  │ │└DISTRIBUTE GATHER
 1110000         9  │ │ INNER JOIN HASH ON t.kind_id = kt.id
 1110000         1  │ │ │└DISTRIBUTE GATHER
 3140000         1  │ │ │ TABLE SCAN kind_type WHERE kt.kind = 'movie'
 1110000        16  │ │ INNER JOIN HASH ON ci.movie_id = t.id
 1110000   1381453  │ │ │└DISTRIBUTE GATHER
       4   1381453  │ │ │ TABLE SCAN title WHERE (t.production_year IS NOT NULL) AND (t.production_year > 2000L)
 9690000        16  │ │ INNER JOIN HASH ON ci.person_id = n.id
 9690000         2  │ │ │└DISTRIBUTE GATHER
 2530000         2  │ │ │ TABLE SCAN name WHERE n.name LIKE '%Downey%Robert%'
17600000        16  │ │ INNER JOIN HASH ON ci.person_role_id = chn.id
17600000        30  │ │ │└DISTRIBUTE GATHER
  134000        30  │ │ │ TABLE SCAN char_name WHERE ( NOT contains(chn.name,'Sherlock')) AND (chn.name LIKE '%Tony%Stark%' OR chn.name LIKE '%Iron%Man%')
 2920000        16  │ │ FILTER 
 4520000   7109546  │ │ TABLE SCAN cast_info WHERE ci.person_role_id IS NOT NULL
 1110000      8765  │ INNER JOIN HASH ON cc.subject_id = cct1.id
 1110000         1  │ │└DISTRIBUTE GATHER
 4170000         1  │ │ TABLE SCAN comp_cast_type WHERE cct1.kind = 'cast'
 2220000     12810  │ INNER JOIN HASH ON cc.status_id = cct2.id
 2220000         2  │ │└DISTRIBUTE GATHER
       4         2  │ │ TABLE SCAN comp_cast_type WHERE contains(cct2.kind,'complete')
 2220000     12810  │ INNER JOIN HASH ON mk.movie_id = cc.movie_id
 2220000     35548  │ │└DISTRIBUTE GATHER
     317     35548  │ │ INNER JOIN HASH ON mk.keyword_id = k.id
     317         8  │ │ │└DISTRIBUTE GATHER
       -         8  │ │ │ TABLE SCAN keyword WHERE k.keyword IN('superhero','sequel','second-part','marvel-comics','based-on-comic','tv-special','fight','violence')
       7   4519843  │ │ TABLE SCAN movie_keyword
  135000    131283  │ TABLE SCAN complete_cast WHERE cc.movie_id IS NOT NULL
17600000         0  └─FILTER 
36200000         1    DISTRIBUTE HASH
36200000         1    AGGREGATE bloom_filter_agg(bloom_expr(n.id,n.id),2L,256L)
36200000         1    DISTRIBUTE HASH
36200000         1    DISTRIBUTE HASH
36200000         1    TABLE SCAN comp_cast_type WHERE cct1.kind = 'cast'
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(title as title) AS Expr1020
       1        17  FILTER kind as kind = 'movie'
       1        17  INNER JOIN LOOP ON Bmk1012 = Bmk1012
       1        17  │└TABLE SEEK kind_type AS kt
       1        17  INNER JOIN LOOP ON t.kind_id = kt.id
       1        17  │└TABLE SEEK kind_type AS kt
       1        17  INNER JOIN LOOP ON Bmk1018 = Bmk1018
       1        17  │└TABLE SEEK title AS t WHERE production_year as production_year > 2000
       1        17  PROJECT BmkToPage Bmk1018 AS Expr1377
       1        17  INNER JOIN LOOP ON mk.movie_id = t.id
       1        17  │└TABLE SEEK title AS t
       1        17  FILTER kind as kind LIKE '%complete%'
       1        17  INNER JOIN LOOP ON Bmk1004 = Bmk1004
       1        17  │└TABLE SEEK comp_cast_type AS cct2
       1        17  INNER JOIN LOOP ON cc.status_id = cct2.id
       1        17  │└TABLE SEEK comp_cast_type AS cct2
       1        17  FILTER kind as kind = 'cast'
       1        17  INNER JOIN LOOP ON Bmk1002 = Bmk1002
       1        17  │└TABLE SEEK comp_cast_type AS cct1
       1        17  INNER JOIN LOOP ON cc.subject_id = cct1.id
       1        17  │└TABLE SEEK comp_cast_type AS cct1
       1        17  INNER JOIN LOOP ON Bmk1000 = Bmk1000
       1        17  │└TABLE SEEK complete_cast AS cc
       1        17  INNER JOIN LOOP ON mk.movie_id = cc.movie_id
       1        17  │└TABLE SEEK complete_cast AS cc
       1        51  FILTER name as name LIKE '%Downey%Robert%'
      17       185  INNER JOIN LOOP ON Bmk1016 = Bmk1016
       1       185  │└TABLE SEEK name AS n
      17       185  PROJECT BmkToPage Bmk1016 AS Expr1376
      17       185  INNER JOIN LOOP ON ci.person_id = n.id
       1       185  │└TABLE SEEK name AS n
      17       185  INNER JOIN LOOP ON Bmk1008 = Bmk1008
       1       185  │└TABLE SEEK cast_info AS ci
      17       185  PROJECT BmkToPage Bmk1008 AS Expr1375
      17       185  INNER JOIN HASH ON Bmk1008 = Bmk1008
   21930   1564305  │└INNER JOIN LOOP ON mk.movie_id = ci.movie_id
      30   1564305  │ │└TABLE SEEK cast_info AS ci
     725     35548  │ INNER JOIN LOOP ON Bmk1014 = Bmk1014
       1     35548  │ │└TABLE SEEK movie_keyword AS mk
     725     35548  │ INNER JOIN LOOP ON k.id = mk.keyword_id
      90     35548  │ │└TABLE SEEK movie_keyword AS mk
       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'
   28825       606  INNER JOIN LOOP ON chn.id = ci.person_role_id
     251       606  │└TABLE SEEK cast_info AS ci
     114        69  TABLE SCAN char_name AS chn WHERE  NOT name as name LIKE '%Sherlock%' AND (name as name LIKE '%Tony%Stark%' OR name as name LIKE '%Iron%Man%')
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
       -        17  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
       -        17  INNER JOIN HASH ON movie_id = id_42
  335742    283091  │└DISTRIBUTE HASH ON id_42
  335742    283091  │ PROJECT id AS id_42, title, kind_id
  335742    283091  │ FILTER production_year > 2000
  335742    283091  │ TABLE SCAN title
       -        17  INNER JOIN HASH ON person_id = id_32
 4167491         2  │└DISTRIBUTE HASH ON id_32
 4167491         2  │ PROJECT id AS id_32
 4167491         2  │ FILTER name LIKE '%Downey%Robert%'
 4167491         2  │ TABLE SCAN name
       -        17  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
       -        17  INNER JOIN HASH ON movie_id = movie_id_28
 4523930      6649  │└DISTRIBUTE HASH ON movie_id_28
 4523930      6649  │ PROJECT movie_id AS movie_id_28, keyword_id
 4523930      6649  │ TABLE SCAN movie_keyword
       -         4  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
       -         4  INNER JOIN HASH ON movie_id = movie_id_14
36244344         9  │└DISTRIBUTE HASH ON movie_id_14
36244344         9  │ PROJECT person_id, movie_id AS movie_id_14, person_role_id
36244344         9  │ TABLE SCAN cast_info
       -         3  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
       -         3  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         3  TABLE SCAN complete_cast
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(title)
       1        17  INNER JOIN LOOP ON id = person_role_id
       1        27  │└INNER JOIN LOOP ON id = person_id
       8    222518  │ │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       2      1472  │ │ │└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%'
      14      2944  │ │ │ 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'
      56      3430  │ │ │ INNER JOIN LOOP ON movie_id = id
      42     12086  │ │ │ │└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'
     294     28330  │ │ │ │ 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 > 2000
   24172     12086  │ │ │ TABLE SEEK complete_cast AS cc
   57408    222522  │ │ TABLE SEEK cast_info AS ci
  222518    222518  │ TABLE SEEK name AS n WHERE n.name LIKE '%Downey%Robert%'
      27        27  TABLE SEEK char_name AS chn WHERE (chn.name NOT  LIKE '%Sherlock%') AND ((chn.name LIKE '%Tony%Stark%') OR (chn.name LIKE '%Iron%Man%'))