PlannerIMDB — JOB-26C

SELECT MIN(chn.name) AS character_name,
       MIN(mi_idx.info) AS rating,
       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 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
10,131,488
10M
Rank
Estimation Error
Est Err
10,170,086
10M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
219,484
219K
Rank
Estimation Error
Est Err
5,400
5.4K
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
48,146,666
48M
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,817,737
28M
Rank
Estimation Error
Est Err
27,841,765
28M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
299,025
299K
Rank
Estimation Error
Est Err
5,402
5.4K
Rank
Estimation Error
Est Err
181,244
181K
Rank
Apache Iceberg
Estimation Error
Est Err
51,010,766
51M
Rank
Estimation Error
Est Err
52,296,509
52M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
12,058,529
12M
Rank
Estimation Error
Est Err
5,410
5.4K
Rank
Estimation Error
Est Err
14,916,266
15M
Rank
Native storage
Estimation Error
Est Err
4,621,417
4.6M
Rank
Estimation Error
Est Err
4,644,648
4.6M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
2,133,515
2.1M
Rank
Estimation Error
Est Err
5,400
5.4K
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
514,906
515K
Rank
Estimation Error
Est Err
514,902
515K
Rank
Estimation Error
Est Err
549,943
550K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
553,975
554K
Rank
Estimation Error
Est Err
5,400
5.4K
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
1,239,585
1.2M
Rank
Estimation Error
Est Err
1,239,571
1.2M
Rank
Estimation Error
Est Err
1,895,031
1.9M
Rank
Estimation Error
Est Err
6,359
6.4K
Rank
Estimation Error
Est Err
1,650,036
1.7M
Rank
Estimation Error
Est Err
6,360
6.4K
Rank
Estimation Error
Est Err
0
Rank
Apache Iceberg
Estimation Error
Est Err
4,648,443
4.6M
Rank
Estimation Error
Est Err
43,056
43K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
4,663,491
4.7M
Rank
Estimation Error
Est Err
5,416
5.4K
Rank
Estimation Error
Est Err
4,647,588
4.6M
Rank

Actual Query Plans

Query Plan per Engine ?
Query Plan
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE min, min, min
       6      5400  INNER JOIN HASH ON id83 = person_id
       5      5400  │└INNER JOIN HASH ON id73 = person_role_id
      87     74106   │└INNER JOIN HASH ON movie_id65 = movie_id49
       2      1261    │└INNER JOIN HASH ON id = info_type_id
       1         1     │└TABLE SCAN info_type WHERE info = rating
       8      3831     INNER JOIN HASH ON movie_id49 = movie_id56
      15      1267     │└INNER JOIN HASH ON id6 = status_id
       2         2      │└TABLE SCAN comp_cast_type WHERE kind LIKE '%complete%'
       2      1267      INNER JOIN HASH ON id11 = subject_id
       1         1      │└TABLE SCAN comp_cast_type WHERE kind = cast
       3      1485      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
  135086      1098      TABLE SCAN complete_cast
 1380035   1380035     TABLE SCAN movie_info_idx
17485064     51840    TABLE SCAN cast_info
  196271      2524   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 complete_hero_movie
       -         ∞  AGGREGATE MIN(name) AS a1, MIN(info) AS a2, MIN(title) AS a3
       -         ∞  PROJECT name, info, title
       -         ∞  PROJECT name, info, title
       -         ∞  INNER JOIN HASH ON tuple(PROJECTION_3231.movie_id,PROJECTION_3231.movie_id,PROJECTION_3231.movie_id,PROJECTION_3231.id,PROJECTION_3231.id,PROJECTION_3231.id) = tuple(PROJECTION_3186.movie_id,PROJECTION_3186.movie_id,PROJECTION_3186.movie_id,PROJECTION_3186.movie_id,PROJECTION_3186.movie_id,PROJECTION_3186.movie_id)
       -         ∞  │└PROJECT movie_id_right, movie_id AS movie_id_right_2, movie_id AS movie_id_right_3, name
       -         ∞   PROJECT movie_id, movie_id, name, movie_id
       -         ∞   INNER JOIN HASH ON PROJECTION_3192.keyword_id = PROJECTION_3189.id
       -         ∞   │└PROJECT id
       -         ∞    FILTER (1 AND in(keyword,__set_String_2587091148504359415_16236450900976866144)) AS a48
       -    134170    TABLE SCAN keyword WHERE TRUE
       -         ∞   PROJECT keyword_id, movie_id, movie_id, name, movie_id
       -         ∞   PROJECT movie_id, movie_id, name, movie_id, keyword_id
       -         ∞   INNER JOIN HASH ON tuple(PROJECTION_3198.movie_id,PROJECTION_3198.movie_id) = tuple(PROJECTION_3195.movie_id,PROJECTION_3195.movie_id)
       -   4523930   │└PROJECT movie_id AS movie_id_right, keyword_id
       -   4523930    PROJECT movie_id, keyword_id
       -   4523930    TABLE SCAN movie_keyword
       -         ∞   PROJECT movie_id_left, movie_id AS movie_id_left_2, name
       -         ∞   PROJECT movie_id, movie_id, name
       -         ∞   INNER JOIN HASH ON PROJECTION_3204.person_id = PROJECTION_3201.id
       -   4167491   │└PROJECT id
       -   4167491    PROJECT id
       -   4167491    TABLE SCAN name
       -         ∞   PROJECT person_id, movie_id, movie_id, name
       -         ∞   PROJECT movie_id, movie_id, person_id, name
       -         ∞   INNER JOIN HASH ON PROJECTION_3210.person_role_id = PROJECTION_3207.id
       -         ∞   │└PROJECT id, name
       -         ∞    FILTER (1 AND  OR ( LIKE (name,'%man%'_String), LIKE (name,'%Man%'_String))) AS a40
       -    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_3216.movie_id = PROJECTION_3213.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_3228.id = PROJECTION_3219.status_id
       -     85941   │└PROJECT status_id, movie_id
       -     85941    PROJECT status_id, movie_id
       -     85941    INNER JOIN HASH ON PROJECTION_3225.subject_id = PROJECTION_3222.id
       -         1    │└PROJECT id
       -         1     FILTER (1 AND kind = 'cast'_String) AS a36
       -         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 a31
       -         2   TABLE SCAN comp_cast_type WHERE kind LIKE '%complete%'
       -     86572  PROJECT movie_id AS movie_id_left, id, info, title
       -     86572  PROJECT info, movie_id, title, id
       -     86572  INNER JOIN HASH ON PROJECTION_3243.id = PROJECTION_3234.movie_id
       -    459925  │└PROJECT movie_id, info
       -    459925   PROJECT info, movie_id
       -    459925   INNER JOIN HASH ON PROJECTION_3240.info_type_id = PROJECTION_3237.id
       -         1   │└PROJECT id
       -         1    FILTER (1 AND info = 'rating'_String) AS a19
       -         1    TABLE SCAN info_type WHERE info = 'rating'
       -   1380035   PROJECT info_type_id, info, movie_id
       -   1380035   PROJECT info, movie_id, info_type_id
       -   1380035   TABLE SCAN movie_info_idx
       -    274015  PROJECT id_left, title
       -    274015  PROJECT title, id_left
       -    274015  INNER JOIN HASH ON PROJECTION_3249.kind_id = PROJECTION_3246.id
       -         1  │└PROJECT id AS id_right
       -         1   FILTER (1 AND kind = 'movie'_String) AS a14
       -         1   TABLE SCAN kind_type WHERE kind = 'movie'
       -   1381453  PROJECT kind_id, title, id AS id_left
       -   1381453  FILTER (1 AND production_year > 2000_UInt16) AS a10
       -   1381453  TABLE SCAN title WHERE production_year > 2000
Native storage
Estimate    Actual  Operator
       -         1  AGGREGATE MIN(#0), MIN(#1), MIN(#2)
       3      5400  PROJECT name, info, title
       3      5400  INNER JOIN HASH ON id = person_id
       2      5400  │└INNER JOIN HASH ON id = person_role_id
      13    189738   │└INNER JOIN HASH ON movie_id = id
       0      1261    │└INNER JOIN HASH ON id = keyword_id
       4    293146     │└INNER JOIN HASH ON movie_id = id
       2      4028      │└INNER JOIN HASH ON status_id = id
       1         2       │└FILTER id >= 3
       1         2        TABLE SCAN comp_cast_type WHERE contains(kind,'complete')
       9      4028       INNER JOIN HASH ON subject_id = id
       1         1       │└FILTER id <= 2
       1         1        TABLE SCAN comp_cast_type WHERE kind = 'cast'
      38      5052       INNER JOIN HASH ON kind_id = id
       1         1       │└TABLE SCAN kind_type WHERE kind = 'movie'
     270      5052       INNER JOIN HASH ON id = movie_id
    1328     95399       │└INNER JOIN HASH ON movie_id = movie_id
   24425    459891        │└INNER JOIN HASH ON info_type_id = id
       2         1         │└FILTER id >= 99
       2         1          TABLE SCAN info_type WHERE info = 'rating'
 1380035    459891         TABLE SCAN movie_info_idx WHERE movie_id >= 285
  135086    132439        TABLE SCAN complete_cast WHERE movie_id <= 2525793
  505662      4351       FILTER id BETWEEN 285 AND 2525793
  505662      4353       TABLE SCAN title WHERE production_year > 2000
 4523930   3689305      TABLE SCAN movie_keyword WHERE movie_id >= 285 AND movie_id <= 2525793
   26834        10     FILTER IN ...
  134170    134058     INNER JOIN HASH ON keyword = #0
       0        10     │└SCAN MATERIALISED
  134170    134058     TABLE SCAN keyword WHERE keyword IN('superhero','marvel-comics','based-on-comic','tv-special','fight','violence','magnet','web','claw','laser')
36244344    185302    TABLE SCAN cast_info WHERE movie_id >= 285 AND movie_id <= 2525793
  628067      2682   TABLE SCAN char_name WHERE (name IS NOT NULL) AND (contains(name,'man') OR contains(name,'Man'))
 4167491     13372  TABLE SCAN "name" WHERE id <= 4061926
Apache Iceberg
Estimate    Actual  Operator
       1         1  PROJECT character_name, rating, complete_hero_movie
       1         1  AGGREGATE MIN(name), MIN(info), MIN(title)
   49591        10  DISTRIBUTE GATHER
   49591        10  AGGREGATE MIN(name), MIN(info), MIN(title)
   49591      5400  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      5615  INNER JOIN HASH ON movie_id = id AND movie_id = id AND movie_id = id AND movie_id = id
  173569     20612  │└DISTRIBUTE HASH ON movie_id, movie_id, movie_id, movie_id
  173569     20612   INNER JOIN HASH ON person_id = id
  173569     20612   │└DISTRIBUTE HASH ON person_id
  173569     20612    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')
  867845   4571510    INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id AND movie_id = movie_id
  484568    106810    │└DISTRIBUTE HASH ON movie_id, movie_id, movie_id
  484568    106810     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'
  484568    321953     INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id
  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))
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)...
 1380035   1380035     DISTRIBUTE HASH ON movie_id, movie_id
 1380035   1380035     TABLE SCAN movie_info_idx WHERE CASE MOD(HASH_REPARTITION(movie_id,movie_id),10) WHEN 1 THEN ((((movie_id >= 294) AND (movie_id <= 2525620)) AND ((movie_id >= 294) AND (movie_id <= 2525620))) AND TRUE) WHEN 3 THEN ((((movie_id >= 286) AND (movie_id <= 2525477)) AND ((movie_id >= 286) AND (movie_id <= 2525477))) AND TRUE) WHEN 5 THEN ((((movie_id >= 296) AND (movie_id <= 2525667)) AND ((movie_id >= 296) AND (movie_id <= 2525667))) AND TRUE) WHEN 7 THEN ((((movie...
 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 <= 2524893)) AND ((movie_id >= 286) AND (movie_id <= 2524893))) AND ((movie_id >= 286) AND (movie_id <= 2524893))) 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   4167491   DISTRIBUTE HASH ON id
 4167491   4167491   TABLE SCAN name WHERE CASE MOD(HASH_REPARTITION id,10) WHEN 0 THEN (((id >= 568) AND (id <= 2699679)) AND TRUE) WHEN 1 THEN (((id >= 1668) AND (id <= 2699221)) AND TRUE) WHEN 2 THEN (((id >= 1117) AND (id <= 2698586)) AND TRUE) WHEN 3 THEN (((id >= 6293) AND (id <= 2695168)) AND TRUE) WHEN 4 THEN (((id >= 6541) AND (id <= 2696098)) AND TRUE) WHEN 5 THEN (((id >= 959) AND (id <= 2689211)) AND TRUE) WHEN 6 THEN (((id >= 2034) AND (id <= 2696588)) AND TRUE) WHEN 7 THEN ((...
  343129    645078  DISTRIBUTE HASH ON id, 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,id),10) WHEN 1 THEN ((((((id >= 190345) AND (id <= 2524365)) AND ((id >= 190345) AND (id <= 2524365))) AND ((id >= 190345) AND (id <= 2524365))) AND ((id >= 190345) AND (id <= 2524365))) AND TRUE) WHEN 3 THEN ((((((id >= 125326) AND (id <= 2524079)) AND ((id >= 125326) AND (id <= 2524079))) AND ((id >= 125326) AND (id <= 2524079))) AND ((id >= 125326) AND (id <= 2524079))) AND TRUE) WHE...
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(chn.name), MIN(mi_idx.info), MIN(t.title)
       1         2  DISTRIBUTE GATHER
       1         2  AGGREGATE MIN(chn.name), MIN(mi_idx.info), MIN(t.title)
   30700      5400  INNER JOIN HASH ON ci.person_role_id = chn.id
   30700     74106  │└DISTRIBUTE GATHER
   30700     74106   INNER JOIN HASH ON ci.person_id = n.id
   30700     74106   │└DISTRIBUTE GATHER
   30700     74106    INNER JOIN HASH ON cc.movie_id = ci.movie_id
   30700      1261    │└DISTRIBUTE GATHER
    1860      1261     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      3813     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    835275     TABLE SCAN movie_info_idx
  135000  17563890    TABLE SCAN cast_info WHERE ci.person_role_id IS NOT NULL
  134000   4159376   TABLE SCAN name
 4520000    179525  TABLE SCAN char_name WHERE contains(chn.name,'man') OR contains(chn.name,'Man')
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(partialagg1071) AS Expr1024, MIN(partialagg1072) AS Expr1025, MIN(partialagg1073) AS Expr1026
       1         1  FILTER kind as kind = 'cast'
       1         2  INNER JOIN LOOP ON Bmk1002 = Bmk1002
       1         2  │└TABLE SEEK comp_cast_type AS cct1
       1         2  INNER JOIN LOOP ON cc.subject_id = cct1.id
       1         2  │└TABLE SEEK comp_cast_type AS cct1
       1         2  AGGREGATE MIN(name as name) AS partialagg1071, MIN(info as info) AS partialagg1072, MIN(title as title) AS partialagg1073 GROUP BY SORT subject_id
      42      6359  SORT subject_id
      42      6359  INNER JOIN HASH ON cc.status_id = cct2.id
       2         2  │└TABLE SCAN comp_cast_type AS cct2 WHERE kind as kind LIKE '%complete%'
      42      6359  INNER JOIN HASH ON mi_idx.info_type_id = it2.id
       1         1  │└TABLE SCAN info_type AS it2 WHERE info as info = 'rating'
      21      6359  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'
      10      6359  INNER JOIN LOOP ON Bmk1000 = Bmk1000
       1      6359  │└TABLE SEEK complete_cast AS cc
      10      6359  INNER JOIN LOOP ON t.id = cc.movie_id
       1      6359  │└TABLE SEEK complete_cast AS cc
       7     10638  INNER JOIN HASH ON mi_idx.movie_id = t.id
      32     11235  │└FILTER name as name LIKE '%man%' OR name as name LIKE '%Man%'
     556    175101   INNER JOIN LOOP ON Bmk1006 = Bmk1006
       1    175101   │└TABLE SEEK char_name AS chn
     556    175101   PROJECT BmkToPage Bmk1006 AS Expr1388
     556    175101   INNER JOIN LOOP ON ci.person_role_id = chn.id
       1    175101   │└TABLE SEEK char_name AS chn
    1238    406258   INNER JOIN HASH ON t.kind_id = kt.id
       1         1   │└TABLE SCAN kind_type AS kt WHERE kind as kind = 'movie'
     742    406258   INNER JOIN LOOP ON Bmk1008 = Bmk1008
       1    406258   │└TABLE SEEK cast_info AS ci
     742    406258   PROJECT BmkToPage Bmk1008 AS Expr1385
     742    406258   INNER JOIN LOOP ON t.id = ci.movie_id
      30    406258   │└TABLE SEEK cast_info AS ci
      24      5032   FILTER production_year as production_year > 2000
      45     13935   INNER JOIN LOOP ON Bmk1022 = Bmk1022
       1     13935   │└TABLE SEEK title AS t WHERE BLOOM(kind_id as kind_id)
     452     24091   PROJECT BmkToPage Bmk1022 AS Expr1382
     452     24091   INNER JOIN LOOP ON mk.movie_id = t.id
       1     24091   │└TABLE SEEK title AS t
     452     24091   TABLE SEEK movie_keyword AS mk WHERE BLOOM(keyword_id as keyword_id)
   13800      2014  TABLE SEEK movie_info_idx AS mi_idx WHERE 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 complete_hero_movie
       1         1  AGGREGATE MIN(min_63) AS min, MIN(min_64) AS min_61, MIN(min_65) AS min_62
       -        16  DISTRIBUTE GATHER
       -        16  AGGREGATE MIN(name) AS min_63, MIN(info_33) AS min_64, MIN(title) AS min_65
       -      5400  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
       -      5404  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
       -      5404  INNER JOIN HASH ON person_id = id_43
 4167491   4167491  │└DISTRIBUTE HASH ON id_43
 4167491   4167491   PROJECT id AS id_43
 4167491   4167491   TABLE SCAN name
       -      5404  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
       -      5404  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
       -      3600  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
       -      3600  INNER JOIN HASH ON movie_id = movie_id_32
 1380035      3663  │└DISTRIBUTE HASH ON movie_id_32
 1380035      3663   PROJECT movie_id AS movie_id_32, info_type_id, info AS info_33
 1380035      3663   TABLE SCAN movie_info_idx
       -      3600  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
       -      3600  INNER JOIN HASH ON movie_id = movie_id_14
36244344      7716  │└DISTRIBUTE HASH ON movie_id_14
36244344      7716   PROJECT person_id, movie_id AS movie_id_14, person_role_id
36244344      7716   TABLE SCAN cast_info
       -       765  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
       -       765  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       871  TABLE SCAN complete_cast
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(name), MIN(info), MIN(title)
       1      5400  INNER JOIN LOOP ON id = person_id
       1      5400  │└INNER JOIN LOOP ON id = person_role_id
      14    189738   │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       1      1261    │└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      2522     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      2946     INNER JOIN LOOP ON movie_id = id
       2      8372     │└INNER JOIN LOOP ON id = info_type_id
      28     25258      │└INNER JOIN LOOP ON 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
   30192     25260       TABLE SEEK movie_info_idx AS mi_idx
       5         5      TABLE SEEK info_type AS it2 WHERE it2.info = 'rating'
   16744      8372     TABLE SEEK complete_cast AS cc
   49179    189742    TABLE SEEK cast_info AS ci
  189738    189738   TABLE SEEK char_name AS chn WHERE (chn.name LIKE '%man%') OR (chn.name LIKE '%Man%')
    5400      5400  TABLE SEEK name AS n