PlannerIMDB — JOB-26A

SELECT MIN(chn.name) AS character_name,
       MIN(mi_idx.info) AS rating,
       MIN(n.name) AS playing_actor,
       MIN(t.title) AS complete_hero_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.info_type AS it2,
     job.keyword AS k,
     job.kind_type AS kt,
     job.movie_info_idx AS mi_idx,
     job.movie_keyword AS mk,
     job.name AS n,
     job.title AS t
WHERE cct1.kind = 'cast'
  AND cct2.kind LIKE '%complete%'
  AND chn.name IS NOT NULL
  AND (chn.name LIKE '%man%'
       OR chn.name LIKE '%Man%')
  AND it2.info = 'rating'
  AND k.keyword IN ('superhero',
                    'marvel-comics',
                    'based-on-comic',
                    'tv-special',
                    'fight',
                    'violence',
                    'magnet',
                    'web',
                    'claw',
                    'laser')
  AND kt.kind = 'movie'
  AND mi_idx.info > '7.0'
  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 t.id = mi_idx.movie_id
  AND mk.movie_id = ci.movie_id
  AND mk.movie_id = cc.movie_id
  AND mk.movie_id = mi_idx.movie_id
  AND ci.movie_id = cc.movie_id
  AND ci.movie_id = mi_idx.movie_id
  AND cc.movie_id = mi_idx.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
  AND it2.id = mi_idx.info_type_id;

Engine Compare

Accuracy chart, rows processed ?
Scan
Scan
Seek
Seek
Join Probe
Join
Sort
Sort
Hash Build
Hash
Aggregate
Agg
Distribute
Dist
Native storage
Estimation Error
Est Err
8,712,111
8.7M
Rank
Estimation Error
Est Err
8,730,073
8.7M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
108,338
108K
Rank
Estimation Error
Est Err
1,728
1.7K
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
46,959,470
47M
Rank
Estimation Error
Est Err
0
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
0
Rank
Estimation Error
Est Err
0
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
27,051,895
27M
Rank
Estimation Error
Est Err
27,072,613
27M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
142,142
142K
Rank
Estimation Error
Est Err
1,730
1.7K
Rank
Estimation Error
Est Err
78,041
78K
Rank
Apache Iceberg
Estimation Error
Est Err
49,550,792
50M
Rank
Estimation Error
Est Err
46,117,998
46M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
8,673,512
8.7M
Rank
Estimation Error
Est Err
1,738
1.7K
Rank
Estimation Error
Est Err
8,804,639
8.8M
Rank
Native storage
Estimation Error
Est Err
4,047,373
4M
Rank
Estimation Error
Est Err
4,050,927
4.1M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
686,955
687K
Rank
Estimation Error
Est Err
1,728
1.7K
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
230,810
231K
Rank
Estimation Error
Est Err
230,806
231K
Rank
Estimation Error
Est Err
253,466
253K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
241,828
242K
Rank
Estimation Error
Est Err
1,728
1.7K
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
373,484
373K
Rank
Estimation Error
Est Err
373,469
373K
Rank
Estimation Error
Est Err
605,794
606K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
546,324
546K
Rank
Estimation Error
Est Err
1,728
1.7K
Rank
Estimation Error
Est Err
0
Rank
Apache Iceberg
Estimation Error
Est Err
4,638,932
4.6M
Rank
Estimation Error
Est Err
13,129
13K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
4,643,852
4.6M
Rank
Estimation Error
Est Err
1,744
1.7K
Rank
Estimation Error
Est Err
4,638,722
4.6M
Rank

Actual Query Plans

Query Plan per Engine ?
Query Plan
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE min, min, min, min
       1      1728  INNER JOIN HASH ON id83 = person_id
       1      1728  │└INNER JOIN HASH ON id73 = person_role_id
      18     22972   │└INNER JOIN HASH ON movie_id49 = movie_id65
       2       326    │└INNER JOIN HASH ON id = status_id
       2         2     │└TABLE SCAN comp_cast_type WHERE kind LIKE '%complete%'
       1       326     INNER JOIN HASH ON id6 = subject_id
       1         1     │└TABLE SCAN comp_cast_type WHERE kind = cast
       2       401     INNER JOIN HASH ON movie_id57 = movie_id49
       8       884     │└INNER JOIN HASH ON id11 = info_type_id
       1         1      │└TABLE SCAN info_type WHERE info = rating
       3       884      INNER JOIN HASH ON id33 = movie_id49
      45      5032      │└INNER JOIN HASH ON id16 = kind_id
       1         1       │└TABLE SCAN kind_type WHERE kind = movie
     178      5528       INNER JOIN HASH ON id33 = movie_id
     308     24091       │└INNER JOIN HASH ON id21 = keyword_id
      10        10        │└TABLE SCAN keyword WHERE keyword BETWEEN based - on - comic AND web AND keyword IN(based - on - comic,claw,fight,laser,magnet,marvel - comics,superhero,tv - special,violence,web)
 4523930   4523930        TABLE SCAN movie_keyword
 1402423      4555       TABLE SCAN title WHERE production_year >= 2001
  184633       669      TABLE SCAN movie_info_idx WHERE info > 7.0
  135086       278     TABLE SCAN complete_cast
17485064     14363    TABLE SCAN cast_info
  196271       810   TABLE SCAN char_name WHERE name LIKE '%man%' OR name LIKE '%Man%'
 4167491   4167491  TABLE SCAN name
Native storage
Estimate    Actual  Operator
       -         ∞  PROJECT a1 AS character_name, a2 AS rating, a3 AS playing_actor, a4 AS complete_hero_movie
       -         ∞  AGGREGATE MIN(name_left) AS a1, MIN(info) AS a2, MIN(name_right) AS a3, MIN(title) AS a4
       -         ∞  PROJECT name_left, info, name_right, title
       -         ∞  PROJECT name_left, info, name_right, title
       -         ∞  INNER JOIN HASH ON tuple(PROJECTION_3065.movie_id,PROJECTION_3065.movie_id,PROJECTION_3065.movie_id,PROJECTION_3065.movie_id,PROJECTION_3065.movie_id,PROJECTION_3065.movie_id) = tuple(PROJECTION_3044.movie_id,PROJECTION_3044.movie_id,PROJECTION_3044.movie_id,PROJECTION_3044.id,PROJECTION_3044.id,PROJECTION_3044.id)
       -         ∞  │└PROJECT movie_id AS movie_id_right, id, title
       -         ∞   PROJECT movie_id, title, id
       -         ∞   INNER JOIN HASH ON PROJECTION_3050.kind_id = PROJECTION_3047.id
       -         1   │└PROJECT id AS id_right
       -         1    FILTER (1 AND kind = 'movie'_String) AS a53
       -         1    TABLE SCAN kind_type WHERE kind = 'movie'
       -         ∞   PROJECT kind_id, movie_id, title, id_left
       -         ∞   PROJECT movie_id, title, id, kind_id
       -         ∞   INNER JOIN HASH ON PROJECTION_3056.keyword_id = PROJECTION_3053.id
       -         ∞   │└PROJECT id AS id_right
       -         ∞    FILTER (1 AND in(keyword,__set_String_2587091148504359415_16236450900976866144)) AS a49
       -    134170    TABLE SCAN keyword WHERE TRUE
       -   1970380   PROJECT keyword_id, movie_id, title, id AS id_left, kind_id
       -   1970380   PROJECT movie_id, keyword_id, title, id, kind_id
       -   1970380   INNER JOIN HASH ON PROJECTION_3062.movie_id = PROJECTION_3059.id
       -   1381453   │└PROJECT id, title, kind_id
       -   1381453    FILTER (1 AND production_year > 2000_UInt16) AS a45
       -   1381453    TABLE SCAN title WHERE production_year > 2000
       -   4523930   PROJECT movie_id, keyword_id
       -   4523930   PROJECT movie_id, keyword_id
       -   4523930   TABLE SCAN movie_keyword
       -         ∞  PROJECT movie_id AS movie_id_left, movie_id AS movie_id_left_2, movie_id AS movie_id_left_3, name_left, info, name_right
       -         ∞  PROJECT movie_id, movie_id, name_left, info, movie_id, name_right
       -         ∞  INNER JOIN HASH ON tuple(PROJECTION_3077.movie_id,PROJECTION_3077.movie_id) = tuple(PROJECTION_3068.movie_id,PROJECTION_3068.movie_id)
       -    121572  │└PROJECT movie_id AS movie_id_right, info
       -    121572   PROJECT info, movie_id
       -    121572   INNER JOIN HASH ON PROJECTION_3074.info_type_id = PROJECTION_3071.id
       -         1   │└PROJECT id
       -         1    FILTER (1 AND info = 'rating'_String) AS a38
       -         1    TABLE SCAN info_type WHERE info = 'rating'
       -    192839   PROJECT info_type_id, info, movie_id
       -    192839   FILTER (1 AND info > '7.0'_String) AS a34
       -    192839   TABLE SCAN movie_info_idx WHERE info > '7.0'
       -         ∞  PROJECT movie_id_left, movie_id AS movie_id_left_2, name, name
       -         ∞  PROJECT movie_id, movie_id, name, name
       -         ∞  INNER JOIN HASH ON PROJECTION_3083.person_id = PROJECTION_3080.id
       -   4167491  │└PROJECT id, name AS name_right
       -   4167491   PROJECT name, id
       -   4167491   TABLE SCAN name
       -         ∞  PROJECT person_id, movie_id, movie_id, name AS name_left
       -         ∞  PROJECT movie_id, movie_id, person_id, name
       -         ∞  INNER JOIN HASH ON PROJECTION_3089.person_role_id = PROJECTION_3086.id
       -         ∞  │└PROJECT id, name
       -         ∞   FILTER (1 AND  OR ( LIKE (name,'%man%'_String), LIKE (name,'%Man%'_String))) AS a25
       -    180152   TABLE SCAN char_name WHERE name LIKE '%man%' OR name LIKE '%Man%'
       -         ∞  PROJECT person_role_id, movie_id, movie_id, person_id
       -         ∞  PROJECT movie_id, movie_id, person_role_id, person_id
       -         ∞  INNER JOIN HASH ON PROJECTION_3095.movie_id = PROJECTION_3092.movie_id
       -  36244344  │└PROJECT movie_id AS movie_id_right, person_role_id, person_id
       -  36244344   PROJECT movie_id, person_role_id, person_id
       -  36244344   TABLE SCAN cast_info
       -         ∞  PROJECT movie_id AS movie_id_left
       -         ∞  PROJECT movie_id
       -         ∞  INNER JOIN HASH ON PROJECTION_3107.id = PROJECTION_3098.status_id
       -     85941  │└PROJECT status_id, movie_id
       -     85941   PROJECT status_id, movie_id
       -     85941   INNER JOIN HASH ON PROJECTION_3104.subject_id = PROJECTION_3101.id
       -         1   │└PROJECT id
       -         1    FILTER (1 AND kind = 'cast'_String) AS a21
       -         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
       -         ∞  PROJECT id
       -         ∞  FILTER ( LIKE (kind,'%complete%'_String) AND 1) AS a16
       -         2  TABLE SCAN comp_cast_type WHERE kind LIKE '%complete%'
Native storage
Estimate    Actual  Operator
       -         1  AGGREGATE MIN(#0), MIN(#1), MIN(#2), MIN(#3)
       0      1728  PROJECT name, info, name, title
       0      1728  INNER JOIN HASH ON id = person_id
       0      1728  │└INNER JOIN HASH ON id = person_role_id
       2     58947   │└INNER JOIN HASH ON movie_id = id
       0       326    │└INNER JOIN HASH ON id = keyword_id
       0     79039     │└INNER JOIN HASH ON movie_id = id
       0       647      │└INNER JOIN HASH ON status_id = id
       1         2       │└FILTER id >= 3
       1         2        TABLE SCAN comp_cast_type WHERE contains(kind,'complete')
       1       647       INNER JOIN HASH ON subject_id = id
       1         1       │└FILTER id <= 2
       1         1        TABLE SCAN comp_cast_type WHERE kind = 'cast'
       7       863       INNER JOIN HASH ON kind_id = id
       1         1       │└TABLE SCAN kind_type WHERE kind = 'movie'
      54       863       INNER JOIN HASH ON id = movie_id
     265     29914       │└INNER JOIN HASH ON movie_id = movie_id
    4885    121570        │└INNER JOIN HASH ON info_type_id = id
       2         1         │└FILTER id >= 99
       2         1          TABLE SCAN info_type WHERE info = 'rating'
  276007    121570         FILTER movie_id >= 285
  276007    121572         TABLE SCAN movie_info_idx WHERE info > '7.0'
  135086     30326        TABLE SCAN complete_cast WHERE movie_id <= 2525793
  505662       994       FILTER id BETWEEN 285 AND 2525793
  505662       994       TABLE SCAN title WHERE production_year > 2000
 4523930   3677736      TABLE SCAN movie_keyword WHERE movie_id >= 285 AND movie_id <= 2525793
   26834        10     FILTER IN ...
  134170    134044     INNER JOIN HASH ON keyword = #0
       0        10     │└SCAN MATERIALISED
  134170    134044     TABLE SCAN keyword WHERE keyword IN('superhero','marvel-comics','based-on-comic','tv-special','fight','violence','magnet','web','claw','laser')
36244344     78529    TABLE SCAN cast_info WHERE movie_id >= 285 AND movie_id <= 2525793
  628067       856   TABLE SCAN char_name WHERE (name IS NOT NULL) AND (contains(name,'man') OR contains(name,'Man'))
 4167491      3301  TABLE SCAN "name" WHERE id <= 4061926
Apache Iceberg
Estimate    Actual  Operator
       1         1  PROJECT character_name, rating, playing_actor, complete_hero_movie
       1         1  AGGREGATE MIN(name), MIN(info), MIN(name), MIN(title)
   28246        10  DISTRIBUTE GATHER
   28246        10  AGGREGATE MIN(name), MIN(info), MIN(name), MIN(title)
   28246      1728  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'
   98863      1787  INNER JOIN HASH ON movie_id = id AND movie_id = id AND movie_id = id AND movie_id = id
   98863      5264  │└DISTRIBUTE GATHER
   98863      5264   INNER JOIN HASH ON person_id = id
   98863      5264   │└DISTRIBUTE GATHER
   98863      5264    INNER JOIN HASH ON id = keyword_id
   26834        10    │└DISTRIBUTE GATHER
   26834        10     FILTER keyword IN('superhero','marvel-comics','based-on-comic','tv-special','fight','violence','magnet','web','claw','laser')
  134170    134170     DISTRIBUTE ROUND ROBIN
  134170    134170     TABLE SCAN keyword WHERE keyword IN('superhero','marvel-comics','based-on-comic','tv-special','fight','violence','magnet','web','claw','laser')
  494319   1446489    INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id AND movie_id = movie_id
  276007     25644    │└DISTRIBUTE HASH ON movie_id, movie_id, movie_id
  276007     25644     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'
  276007     41047     PROJECT movie_id, person_id, movie_id, name, movie_id, info_type_id, info
  276007     41047     INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id
  276007    192839     │└DISTRIBUTE HASH ON movie_id, movie_id
  276007    192839      FILTER info > '7.0'
 1380035   1380035      TABLE SCAN movie_info_idx WHERE (info > '7.0') AND (((info_type_id >= 101) AND (info_type_id <= 101)) AND info_type_id IN 101)
  484568    118833     DISTRIBUTE HASH ON movie_id, movie_id
  484568    118833     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))) AND CASE MOD(HASH_REPARTITION(movie_id,movie_id),10) WHEN 1 THEN ((((movie_id >= 228) AND (movie_id <= 2525782)) AND ((movie_id >= 228) AND (movie_id <= 2525782))) AND TRUE) WHEN 3 THEN ((((movie_id >= 284) AND (movie_id <= 2525784)) AND ((movie_id >= 284) AND (movie_id <= 2525784))) AND TRU...
36244344  36244344      TABLE SCAN cast_info WHERE ((movie_id >= 285) AND (movie_id <= 2528181)) AND TRUE
  628068    180152     DISTRIBUTE HASH ON id
  628068    180152     FILTER name IS NOT NULL AND (name LIKE '%man%' OR name LIKE '%Man%')
 3140339   3140339     TABLE SCAN char_name WHERE (name IS NOT NULL AND (name LIKE '%man%' OR name LIKE '%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 <= 3140246)) AND TRUE) WHE...
 4523930   4523930    DISTRIBUTE HASH ON movie_id, movie_id, movie_id
 4523930   4523930    TABLE SCAN movie_keyword WHERE CASE MOD(HASH_REPARTITION(movie_id,movie_id,movie_id),10) WHEN 0 THEN (((((movie_id >= 286) AND (movie_id <= 2523213)) AND ((movie_id >= 286) AND (movie_id <= 2523213))) AND ((movie_id >= 286) AND (movie_id <= 2523213))) AND TRUE) WHEN 1 THEN (((((movie_id >= 301) AND (movie_id <= 2525058)) AND ((movie_id >= 301) AND (movie_id <= 2525058))) AND ((movie_id >= 301) AND (movie_id <= 2525058))) AND TRUE) WHEN 2 THEN (((((movie_id >= 289) ...
 4167491   2707517   TABLE SCAN name WHERE ((id >= 339) AND (id <= 2700410)) AND TRUE
  343129    645078  FILTER production_year > 2000
 2528312   1297449  TABLE SCAN title WHERE ((production_year > 2000) AND ((((((id >= 96295) AND (id <= 2522052)) AND ((id >= 96295) AND (id <= 2522052))) AND ((id >= 96295) AND (id <= 2522052))) AND ((id >= 96295) AND (id <= 2522052))) AND TRUE)) AND (((kind_id >= 1) AND (kind_id <= 1)) AND kind_id IN 1)
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(chn.name), MIN(mi_idx.info), MIN(n.name), MIN(t.title)
       1         2  DISTRIBUTE GATHER
       1         2  AGGREGATE MIN(chn.name), MIN(mi_idx.info), MIN(n.name), MIN(t.title)
   30700      1728  INNER JOIN HASH ON ci.person_role_id = chn.id
   30700     22972  │└DISTRIBUTE GATHER
   30700     22972   INNER JOIN HASH ON ci.person_id = n.id
   30700     22972   │└DISTRIBUTE GATHER
   30700     22972    INNER JOIN HASH ON cc.movie_id = ci.movie_id
   30700       326    │└DISTRIBUTE GATHER
    1860       326     INNER JOIN HASH ON mi_idx.info_type_id = it2.id
    1860         1     │└DISTRIBUTE GATHER
       4         1      TABLE SCAN info_type WHERE it2.info = 'rating'
    1860       503     INNER JOIN HASH ON cc.movie_id = mi_idx.movie_id
    1860      1267     │└DISTRIBUTE GATHER
     599      1267      INNER JOIN HASH ON t.kind_id = kt.id
     599         1      │└DISTRIBUTE GATHER
 2530000         1       TABLE SCAN kind_type WHERE kt.kind = 'movie'
     599      1446      INNER JOIN HASH ON cc.movie_id = t.id
     599      6396      │└DISTRIBUTE GATHER
     569      6396       INNER JOIN HASH ON cc.subject_id = cct1.id
     569         1       │└DISTRIBUTE GATHER
 1380000         1        TABLE SCAN comp_cast_type WHERE cct1.kind = 'cast'
     569      9392       INNER JOIN HASH ON cc.status_id = cct2.id
     569         2       │└DISTRIBUTE GATHER
36200000         2        TABLE SCAN comp_cast_type WHERE contains(cct2.kind,'complete')
     569      9392       INNER JOIN HASH ON mk.movie_id = cc.movie_id
     569     24091       │└DISTRIBUTE GATHER
     387     24091        INNER JOIN HASH ON mk.keyword_id = k.id
     387        10        │└DISTRIBUTE GATHER
 3140000        10         TABLE SCAN keyword WHERE k.keyword IN('superhero','marvel-comics','based-on-comic','tv-special','fight','violence','magnet','web','claw','laser')
 4170000   4519841        TABLE SCAN movie_keyword
     113    131210       TABLE SCAN complete_cast WHERE cc.movie_id IS NOT NULL
       7    428605      TABLE SCAN title WHERE (t.production_year IS NOT NULL) AND (t.production_year > 2000L)
       4     79989     TABLE SCAN movie_info_idx WHERE mi_idx.info > '7.0'
  135000  17553587    TABLE SCAN cast_info WHERE ci.person_role_id IS NOT NULL
  134000   4159316   TABLE SCAN name
 4520000    179332  TABLE SCAN char_name WHERE contains(chn.name,'man') OR contains(chn.name,'Man')
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(name as name) AS Expr1024, MIN(info as info) AS Expr1025, MIN(name as name) AS Expr1026, MIN(title as title) AS Expr1027
       2      1728  INNER JOIN LOOP ON Bmk1020 = Bmk1020
       1      1728  │└TABLE SEEK name AS n
       2      1728  PROJECT BmkToPage Bmk1020 AS Expr1368
       2      1728  INNER JOIN LOOP ON ci.person_id = n.id
       1      1728  │└TABLE SEEK name AS n
       2      1728  FILTER name as name LIKE '%man%' OR name as name LIKE '%Man%'
      49     22972  INNER JOIN LOOP ON Bmk1006 = Bmk1006
       1     22972  │└TABLE SEEK char_name AS chn
      49     22972  PROJECT BmkToPage Bmk1006 AS Expr1366
      49     22972  INNER JOIN LOOP ON ci.person_role_id = chn.id
       1     22972  │└TABLE SEEK char_name AS chn
     110     58947  INNER JOIN LOOP ON Bmk1008 = Bmk1008
       1     58947  │└TABLE SEEK cast_info AS ci
     110     58947  PROJECT BmkToPage Bmk1008 AS Expr1363
     110     58947  INNER JOIN LOOP ON t.id = ci.movie_id
      30     58947  │└TABLE SEEK cast_info AS ci
       3       326  INNER JOIN HASH ON mk.keyword_id = k.id
      10        10  │└TABLE SCAN keyword AS k WHERE keyword as keyword = 'based-on-comic' OR keyword as keyword = 'claw' OR keyword as keyword = 'fight' OR keyword as keyword = 'laser' OR keyword as keyword = 'magnet' OR keyword as keyword = 'marvel-comics' OR keyword as keyword = 'superhero' OR keyword as keyword = 'tv-special' OR keyword as keyword = 'violence' OR keyword as keyword = 'web'
       1       326  INNER JOIN LOOP ON Bmk1018 = Bmk1018
       1       326  │└TABLE SEEK movie_keyword AS mk WHERE BLOOM(keyword_id as keyword_id)
   18278     79039  INNER JOIN LOOP ON t.id = mk.movie_id
      49     79039  │└TABLE SEEK movie_keyword AS mk
     369       647  INNER JOIN HASH ON t.kind_id = kt.id
       1         1  │└TABLE SCAN kind_type AS kt WHERE kind as kind = 'movie'
     221       647  FILTER production_year as production_year > 2000
     408      5073  INNER JOIN LOOP ON Bmk1022 = Bmk1022
       1      5073  │└TABLE SEEK title AS t WHERE BLOOM(kind_id as kind_id)
    4085     17898  PROJECT BmkToPage Bmk1022 AS Expr1359
    4085     17898  INNER JOIN LOOP ON mi_idx.movie_id = t.id
       1     17898  │└TABLE SEEK title AS t
    4085     17898  INNER JOIN HASH ON mi_idx.info_type_id = it2.id
       1         1  │└TABLE SCAN info_type AS it2 WHERE info as info = 'rating'
    2042     17898  INNER JOIN HASH ON movie_id as movie_id = movie_id as movie_id
   67543     85941  │└INNER JOIN HASH ON cc.status_id = cct2.id
       2         2   │└TABLE SCAN comp_cast_type AS cct2 WHERE kind as kind LIKE '%complete%'
   67543     85941   INNER JOIN HASH ON cc.subject_id = cct1.id
       1         1   │└TABLE SCAN comp_cast_type AS cct1 WHERE kind as kind = 'cast'
  135086     85941   TABLE SEEK complete_cast AS cc WHERE BLOOM(subject_id as subject_id)
    1896     17898  TABLE SEEK movie_info_idx AS mi_idx WHERE info as info > '7.0' AND BLOOM(movie_id as movie_id) AND BLOOM(info_type_id as info_type_id)
Apache Iceberg
Estimate    Actual  Operator
       1         ∞  PROJECT min AS character_name, min_61 AS rating, min_62 AS playing_actor, min_63 AS complete_hero_movie
       1         1  AGGREGATE MIN(min_64) AS min, MIN(min_65) AS min_61, MIN(min_66) AS min_62, MIN(min_67) AS min_63
       -        16  DISTRIBUTE GATHER
       -        16  AGGREGATE MIN(name) AS min_64, MIN(info_33) AS min_65, MIN(name_44) AS min_66, MIN(title) AS min_67
       -      1728  INNER JOIN HASH ON kind_id = id_26
       7         1  │└DISTRIBUTE GATHER
       7         1   PROJECT id AS id_26
       7         1   FILTER kind = 'movie'
       7         1   TABLE SCAN kind_type
       -      1728  INNER JOIN HASH ON movie_id = id_53
  335742    283091  │└DISTRIBUTE HASH ON id_53
  335742    283091   PROJECT id AS id_53, title, kind_id
  335742    283091   FILTER production_year > 2000
  335742    283091   TABLE SCAN title
       -      1728  INNER JOIN HASH ON person_id = id_43
 4167491   4167491  │└DISTRIBUTE HASH ON id_43
 4167491   4167491   PROJECT id AS id_43, name AS name_44
 4167491   4167491   TABLE SCAN name
       -      1728  INNER JOIN HASH ON keyword_id = id_22
  134170        10  │└DISTRIBUTE GATHER
  134170        10   PROJECT id AS id_22
  134170        10   FILTER keyword IN('based-on-comic','claw','fight','laser','magnet','marvel-comics','superhero','tv-special','violence','web')
  134170        10   TABLE SCAN keyword
       -      1728  INNER JOIN HASH ON movie_id = movie_id_39
 4523930      5444  │└DISTRIBUTE HASH ON movie_id_39
 4523930      5444   PROJECT movie_id AS movie_id_39, keyword_id
 4523930      5444   TABLE SCAN movie_keyword
       -      1019  INNER JOIN HASH ON info_type_id = id_18
     113         1  │└DISTRIBUTE GATHER
     113         1   PROJECT id AS id_18
     113         1   FILTER info = 'rating'
     113         1   TABLE SCAN info_type
       -      1019  INNER JOIN HASH ON movie_id = movie_id_32
 1380035       707  │└DISTRIBUTE HASH ON movie_id_32
 1380035       707   PROJECT movie_id AS movie_id_32, info_type_id, info AS info_33
 1380035       707   FILTER info > '7.0'
 1380035       707   TABLE SCAN movie_info_idx
       -      1019  INNER JOIN HASH ON person_role_id = id_9
 2826305    180152  │└DISTRIBUTE HASH ON id_9
 2826305    180152   PROJECT id AS id_9, name
 2826305    180152   FILTER  NOT (name IS NULL) AND ((name LIKE '%man%') OR (name LIKE '%Man%'))
 2826305    180152   TABLE SCAN char_name
       -      1019  INNER JOIN HASH ON movie_id = movie_id_14
36244344      1806  │└DISTRIBUTE HASH ON movie_id_14
36244344      1806   PROJECT person_id, movie_id AS movie_id_14, person_role_id
36244344      1806   TABLE SCAN cast_info
       -       187  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
       -       187  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       226  TABLE SCAN complete_cast
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(name), MIN(info), MIN(name), MIN(title)
       1      1728  INNER JOIN LOOP ON id = person_id
       1      1728  │└INNER JOIN LOOP ON id = person_role_id
      14     58947   │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       1       326    │└INNER JOIN LOOP ON keyword IN('superhero','marvel-comics','based-on-comic','tv-special','fight','violence','magnet','web','claw','laser') AND id = status_id AND (id = status_id)
       1         2     │└TABLE SCAN comp_cast_type AS cct2 WHERE cct2.kind LIKE '%complete%'
       2       652     INNER JOIN LOOP ON keyword IN('superhero','marvel-comics','based-on-comic','tv-special','fight','violence','magnet','web','claw','laser') AND id = subject_id AND (id = subject_id)
       1         1     │└TABLE SCAN comp_cast_type AS cct1 WHERE cct1.kind = 'cast'
       2       802     INNER JOIN LOOP ON movie_id = id
       2      1768     │└INNER JOIN LOOP ON id = info_type_id
       4      2968      │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
      52     10064       │└INNER JOIN LOOP ON keyword IN('superhero','marvel-comics','based-on-comic','tv-special','fight','violence','magnet','web','claw','laser') AND id = kind_id AND (id = kind_id)
       1         1        │└TABLE SCAN kind_type AS kt WHERE kt.kind = 'movie'
     366     21226        INNER JOIN LOOP ON id = movie_id
     674     48182        │└INNER JOIN LOOP ON keyword_id = id
      20        20         │└TABLE SEEK keyword AS k
    6100     48182         TABLE SEEK movie_keyword AS mk
   48182     48182        TABLE SEEK title AS t WHERE t.production_year > 2000
   10064     10064       TABLE SEEK movie_info_idx AS mi_idx WHERE mi_idx.info > '7.0'
    2968      2968      TABLE SEEK info_type AS it2 WHERE it2.info = 'rating'
    3536      1768     TABLE SEEK complete_cast AS cc
   12714     58947    TABLE SEEK cast_info AS ci
   58947     58947   TABLE SEEK char_name AS chn WHERE (chn.name LIKE '%man%') OR (chn.name LIKE '%Man%')
    1728      1728  TABLE SEEK name AS n