PlannerIMDB — JOB-11A

SELECT MIN(cn.name) AS from_company,
       MIN(lt.link) AS movie_link_type,
       MIN(t.title) AS non_polish_sequel_movie
FROM job.company_name AS cn,
     job.company_type AS ct,
     job.keyword AS k,
     job.link_type AS lt,
     job.movie_companies AS mc,
     job.movie_keyword AS mk,
     job.movie_link AS ml,
     job.title AS t
WHERE cn.country_code !='[pl]'
  AND (cn.name LIKE '%Film%'
       OR cn.name LIKE '%Warner%')
  AND ct.kind ='production companies'
  AND k.keyword ='sequel'
  AND lt.link LIKE '%follow%'
  AND mc.note IS NULL
  AND t.production_year BETWEEN 1950 AND 2000
  AND lt.id = ml.link_type_id
  AND ml.movie_id = t.id
  AND t.id = mk.movie_id
  AND mk.keyword_id = k.id
  AND t.id = mc.movie_id
  AND mc.company_type_id = ct.id
  AND mc.company_id = cn.id
  AND ml.movie_id = mk.movie_id
  AND ml.movie_id = mc.movie_id
  AND mk.movie_id = mc.movie_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,554,036
4.6M
Rank
Estimation Error
Est Err
4,555,695
4.6M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
23,206
23K
Rank
Estimation Error
Est Err
310
310
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
10,060,557
10M
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
6,694,668
6.7M
Rank
Estimation Error
Est Err
6,672,935
6.7M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
71,333
71K
Rank
Estimation Error
Est Err
311
311
Rank
Estimation Error
Est Err
52,733
53K
Rank
Apache Iceberg
Estimation Error
Est Err
8,335,348
8.3M
Rank
Estimation Error
Est Err
8,057,864
8.1M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
1,792,279
1.8M
Rank
Estimation Error
Est Err
320
320
Rank
Estimation Error
Est Err
439,456
439K
Rank
Native storage
Estimation Error
Est Err
454
454
Rank
Estimation Error
Est Err
2,028
2K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
2,487
2.5K
Rank
Estimation Error
Est Err
310
310
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
45,045
45K
Rank
Estimation Error
Est Err
45,043
45K
Rank
Estimation Error
Est Err
45,544
46K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
45,241
45K
Rank
Estimation Error
Est Err
310
310
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
26,656
27K
Rank
Estimation Error
Est Err
26,655
27K
Rank
Estimation Error
Est Err
26,703
27K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
36,949
37K
Rank
Estimation Error
Est Err
310
310
Rank
Estimation Error
Est Err
0
Rank
Apache Iceberg
Estimation Error
Est Err
961,258
961K
Rank
Estimation Error
Est Err
1,310
1.3K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
961,682
962K
Rank
Estimation Error
Est Err
326
326
Rank
Estimation Error
Est Err
961,248
961K
Rank

Actual Query Plans

Query Plan per Engine ?
Query Plan
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE min, min, min
       1       310  INNER JOIN HASH ON company_type_id = id
       1         1  │└TABLE SCAN company_type WHERE kind = production companies
       1       330  INNER JOIN HASH ON company_id = id53
       4       705  │└INNER JOIN HASH ON movie_id24 = movie_id46
       1       152   │└INNER JOIN HASH ON movie_id24 = id30
       1       199    │└INNER JOIN HASH ON id6 = link_type_id
       2         2     │└TABLE SCAN link_type WHERE link LIKE '%follow%'
       2       251     INNER JOIN HASH ON movie_id24 = movie_id
      32     10544     │└INNER JOIN HASH ON keyword_id = id11
       1         1      │└TABLE SCAN keyword WHERE keyword = sequel
 4523930   4523930      TABLE SCAN movie_keyword
   29997     29997     TABLE SCAN movie_link
  886390        25    TABLE SCAN title WHERE production_year BETWEEN 1950 AND 2000
 1203251        69   TABLE SCAN movie_companies WHERE note IS NULL
   51405        11  TABLE SCAN company_name WHERE name LIKE '%Film%' OR name LIKE '%Warner%' AND country_code <> pl
Native storage
Estimate    Actual  Operator
       -         ∞  PROJECT a1 AS from_company, a2 AS movie_link_type, a3 AS non_polish_sequel_movie
       -         ∞  AGGREGATE MIN(name) AS a1, MIN(link) AS a2, MIN(title) AS a3
       -         ∞  PROJECT name, link, title
       -         ∞  FILTER 0
       -         ∞  PROJECT name, link, title
       -         ∞  INNER JOIN HASH ON TRUE
       -         0  │└PROJECT title
       -         0   FILTER 0
       -   2528312   PROJECT title
       -   2528312   TABLE SCAN title
       -         ∞  PROJECT name, link
       -         ∞  FILTER 0
       -         ∞  PROJECT name, link
       -         ∞  INNER JOIN HASH ON PROJECTION_140.__lhs_const = PROJECTION_137.__rhs_const
       -         ∞  │└PROJECT __rhs_const, id
       -     29997   PROJECT id
       -     29997   TABLE SCAN movie_link
       -         ∞  PROJECT __lhs_const, name, link
       -         ∞  PROJECT name, link
       -         ∞  INNER JOIN HASH ON PROJECTION_146.__lhs_const = PROJECTION_143.__rhs_const
       -         ∞  │└PROJECT __rhs_const, movie_id
       -   4523930   PROJECT movie_id
       -   4523930   TABLE SCAN movie_keyword
       -         ∞  PROJECT __lhs_const, name, link
       -         ∞  PROJECT name, link
       -         ∞  INNER JOIN HASH ON PROJECTION_152.__lhs_const = PROJECTION_149.__rhs_const
       -         ∞  │└PROJECT __rhs_const, company_type_id
       -   2609129   PROJECT company_type_id
       -   2609129   TABLE SCAN movie_companies
       -         ∞  PROJECT __lhs_const, name, link
       -         ∞  PROJECT name, link
       -         ∞  INNER JOIN HASH ON PROJECTION_158.__lhs_const = PROJECTION_155.__rhs_const
       -         ∞  │└PROJECT __rhs_const, link
       -        18   PROJECT link
       -        18   TABLE SCAN link_type
       -         ∞  PROJECT __lhs_const, name
       -         ∞  PROJECT name
       -         ∞  INNER JOIN HASH ON PROJECTION_164.__lhs_const = PROJECTION_161.__rhs_const
       -         ∞  │└PROJECT __rhs_const, id
       -    134170   PROJECT id
       -    134170   TABLE SCAN keyword
       -         ∞  PROJECT __lhs_const, name
       -    939988  PROJECT name
       -    939988  INNER JOIN HASH ON TRUE
       -         4  │└PROJECT id
       -         4   PROJECT id
       -         4   TABLE SCAN company_type
       -    234997  PROJECT name
       -    234997  PROJECT name
       -    234997  TABLE SCAN company_name
Native storage
Estimate    Actual  Operator
       -         1  AGGREGATE MIN(#0), MIN(#1), MIN(#2)
       0       310  PROJECT name, link, title
       0       310  INNER JOIN HASH ON id = company_type_id
       0       330  │└INNER JOIN HASH ON id = company_id
       0       705   │└INNER JOIN HASH ON movie_id = movie_id
       0       152    │└INNER JOIN HASH ON id = movie_id
       0       199     │└INNER JOIN HASH ON id = link_type_id
       0       251      │└INNER JOIN HASH ON movie_id = movie_id
      69        46       │└INNER JOIN HASH ON keyword_id = id
       2         1        │└TABLE SCAN keyword WHERE keyword = 'sequel'
 4523930        46        TABLE SCAN movie_keyword WHERE movie_id <= 186175
   29997       286       TABLE SCAN movie_link
       3         2      FILTER id <= 17
       3         2      TABLE SCAN link_type WHERE contains(link,'follow')
  505662        30     FILTER id BETWEEN 2 AND 186175
  505662        31     TABLE SCAN title WHERE production_year >= 1950 AND production_year <= 2000
  521825        76    FILTER movie_id <= 186175
  521825        76    TABLE SCAN movie_companies WHERE note IS NULL
   46999        11   TABLE SCAN company_name WHERE country_code != 'pl' AND (contains(name,'Film') OR contains(name,'Warner'))
       1         1  FILTER id <= 2
       1         1  TABLE SCAN company_type WHERE kind = 'production companies'
Apache Iceberg
Estimate    Actual  Operator
       1         1  PROJECT from_company, movie_link_type, non_polish_sequel_movie
       1         1  AGGREGATE MIN(name), MIN(link), MIN(title)
    6313        10  DISTRIBUTE GATHER
    6313        10  AGGREGATE MIN(name), MIN(link), MIN(title)
    6313       310  INNER JOIN HASH ON movie_id = id AND movie_id = id AND movie_id = id
    6313       402  │└DISTRIBUTE GATHER
    6313       402   PROJECT name, movie_id, movie_id, movie_id, link
    6313       402   INNER JOIN HASH ON id = link_type_id
       4         2   │└DISTRIBUTE GATHER
       4         2    FILTER link LIKE '%follow%'
      18        18    DISTRIBUTE ROUND ROBIN
      18        18    TABLE SCAN link_type WHERE link LIKE '%follow%'
   26834       422   INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id
   26834      2293   │└DISTRIBUTE GATHER
   26834      2293    INNER JOIN HASH ON id = keyword_id
   26834         1    │└DISTRIBUTE GATHER
   26834         1     FILTER keyword = 'sequel'
  134170    134170     DISTRIBUTE ROUND ROBIN
  134170    134170     TABLE SCAN keyword WHERE keyword = 'sequel'
   93458   1337515    INNER JOIN HASH ON movie_id = movie_id
   52183    224256    │└DISTRIBUTE GATHER
   52183    224256     INNER JOIN HASH ON id = company_type_id
       1         1     │└DISTRIBUTE GATHER
       1         1      FILTER kind = 'production companies'
       4         4      DISTRIBUTE ROUND ROBIN
       4         4      TABLE SCAN company_type WHERE kind = 'production companies'
  104366    225118     INNER JOIN HASH ON id = company_id
   47000     48302     │└DISTRIBUTE GATHER
   47000     48302      FILTER (country_code <> 'pl') AND (name LIKE '%Film%' OR name LIKE '%Warner%')
  234997    234997      TABLE SCAN company_name WHERE (country_code <> 'pl') AND (name LIKE '%Film%' OR name LIKE '%Warner%')
  521826   1197292     FILTER note IS NULL
 2609129   1376261     TABLE SCAN movie_companies WHERE (note IS NULL AND (((company_id >= 9) AND (company_id <= 234994)) AND TRUE)) AND (((company_type_id >= 2) AND (company_type_id <= 2)) AND company_type_id IN 2)
 4523930   4523930    TABLE SCAN movie_keyword WHERE (((movie_id >= 50) AND (movie_id <= 2525744)) AND TRUE) AND (((keyword_id >= 398) AND (keyword_id <= 398)) AND keyword_id IN 398)
   29997     29997   DISTRIBUTE ROUND ROBIN
   29997     29997   TABLE SCAN movie_link WHERE ((((movie_id >= 31741) AND (movie_id <= 2525558)) AND ((movie_id >= 31741) AND (movie_id <= 2525558))) AND TRUE) AND (((link_type_id >= 1) AND (link_type_id <= 2)) AND link_type_id IN(1,2))
  921028    743590  FILTER (production_year >= 1950) AND (production_year <= 2000)
 2528312   2035971  TABLE SCAN title WHERE ((production_year >= 1950) AND (production_year <= 2000)) AND (((((id >= 31741) AND (id <= 138935)) AND ((id >= 31741) AND (id <= 138935))) AND ((id >= 31741) AND (id <= 138935))) 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 > , < expr > , < expr > , < expr ...
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(cn.name), MIN(lt.link), MIN(t.title)
       1         1  DISTRIBUTE GATHER
       1         1  AGGREGATE MIN(cn.name), MIN(lt.link), MIN(t.title)
     886       310  INNER JOIN HASH ON ml.link_type_id = lt.id
     886         2  │└DISTRIBUTE GATHER
 4520000         2   TABLE SCAN link_type WHERE contains(lt.link,'follow')
     886       330  INNER JOIN HASH ON mc.movie_id = ml.movie_id
     886     29997  │└DISTRIBUTE GATHER
  134000     29997   TABLE SCAN movie_link
     199      1292  INNER JOIN HASH ON mc.company_id = cn.id
     199      6646  │└DISTRIBUTE GATHER
     192      6646   INNER JOIN HASH ON mc.company_type_id = ct.id
     192         1   │└DISTRIBUTE GATHER
 2610000         1    TABLE SCAN company_type WHERE ct.kind = 'production companies'
     192      6646   INNER JOIN HASH ON mk.movie_id = mc.movie_id
     192      5541   │└DISTRIBUTE GATHER
      75      5541    INNER JOIN HASH ON mk.movie_id = t.id
      75     10544    │└DISTRIBUTE GATHER
      71     10544     INNER JOIN HASH ON mk.keyword_id = k.id
      71         1     │└DISTRIBUTE GATHER
      18         1      TABLE SCAN keyword WHERE k.keyword = 'sequel'
   30000   4519836     TABLE SCAN movie_keyword
  235000    906840    TABLE SCAN title WHERE (t.production_year IS NOT NULL) AND (t.production_year >= 1950L) AND (t.production_year <= 2000L)
       4   1190460   TABLE SCAN movie_companies WHERE mc.note IS NULL
 2530000     47531  TABLE SCAN company_name WHERE (cn.country_code IS NOT NULL) AND ( NOT (cn.country_code = 'pl')) AND (contains(cn.name,'Film') OR contains(cn.name,'Warner'))
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(name as name) AS Expr1016, MIN(link as link) AS Expr1017, MIN(title as title) AS Expr1018
       1       310  FILTER (name as name LIKE '%Film%' OR name as name LIKE '%Warner%') AND country_code as country_code <> 'pl'
       2       664  INNER JOIN LOOP ON Bmk1000 = Bmk1000
       1       664  │└TABLE SEEK company_name AS cn
       2       664  INNER JOIN LOOP ON mc.company_id = cn.id
       1       664  │└TABLE SEEK company_name AS cn
       2       664  FILTER kind as kind = 'production companies'
       4       705  INNER JOIN LOOP ON Bmk1002 = Bmk1002
       1       705  │└TABLE SEEK company_type AS ct
       4       705  INNER JOIN LOOP ON mc.company_type_id = ct.id
       1       705  │└TABLE SEEK company_type AS ct
       4       705  FILTER note as note IS NULL
       9       863  INNER JOIN LOOP ON Bmk1008 = Bmk1008
       1       863  │└TABLE SEEK movie_companies AS mc
       9       863  PROJECT BmkToPage Bmk1008 AS Expr1048
       9       863  INNER JOIN LOOP ON t.id = mc.movie_id
       9       863  │└TABLE SEEK movie_companies AS mc
       1       152  INNER JOIN LOOP ON Bmk1014 = Bmk1014
       1       152  │└TABLE SEEK title AS t WHERE production_year as production_year >= 1950 AND production_year as production_year <= 2000
       1       199  PROJECT BmkToPage Bmk1014 AS Expr1047
       1       199  INNER JOIN LOOP ON ml.movie_id = t.id
       1       199  │└TABLE SEEK title AS t
       1       199  FILTER link as link LIKE '%follow%'
       7       251  INNER JOIN LOOP ON Bmk1006 = Bmk1006
       1       251  │└TABLE SEEK link_type AS lt
       7       251  INNER JOIN LOOP ON ml.link_type_id = lt.id
       1       251  │└TABLE SEEK link_type AS lt
       7       251  INNER JOIN HASH ON ml.movie_id = mk.movie_id
      90     10544  │└INNER JOIN LOOP ON Bmk1010 = Bmk1010
       1     10544   │└TABLE SEEK movie_keyword AS mk
      90     10544   INNER JOIN LOOP ON k.id = mk.keyword_id
      90     10544   │└TABLE SEEK movie_keyword AS mk
       1         1   TABLE SCAN keyword AS k WHERE keyword as keyword = 'sequel'
       2       250  TABLE SEEK movie_link AS ml WHERE BLOOM(movie_id as movie_id)
Apache Iceberg
Estimate    Actual  Operator
       1         ∞  PROJECT min AS from_company, min_33 AS movie_link_type, min_34 AS non_polish_sequel_movie
       1         1  AGGREGATE MIN(min_35) AS min, MIN(min_36) AS min_33, MIN(min_37) AS min_34
       -        16  DISTRIBUTE GATHER
       -        16  AGGREGATE MIN(name) AS min_35, MIN(link) AS min_36, MIN(title) AS min_37
       -       310  INNER JOIN HASH ON movie_id = id_26
  883532    910581  │└DISTRIBUTE HASH ON id_26
  883532    910581   PROJECT id AS id_26, title
  883532    910581   FILTER production_year BETWEEN 1950 AND 2000
  883532    910581   TABLE SCAN title
       -       402  INNER JOIN HASH ON link_type_id = id_8
      18         2  │└DISTRIBUTE GATHER
      18         2   PROJECT id AS id_8, link
      18         2   FILTER link LIKE '%follow%'
      18         2   TABLE SCAN link_type
       -       402  INNER JOIN HASH ON movie_id = movie_id_22
   29997      2315  │└DISTRIBUTE GATHER
   29997      2315   PROJECT movie_id AS movie_id_22, link_type_id
   29997      2315   TABLE SCAN movie_link
       -        26  INNER JOIN HASH ON keyword_id = id_4
  134170         1  │└DISTRIBUTE GATHER
  134170         1   PROJECT id AS id_4
  134170         1   FILTER keyword = 'sequel'
  134170         1   TABLE SCAN keyword
       -        26  INNER JOIN HASH ON movie_id = movie_id_17
 4523930        30  │└DISTRIBUTE HASH ON movie_id_17
 4523930        30   PROJECT movie_id AS movie_id_17, keyword_id
 4523930        30   TABLE SCAN movie_keyword
       -        26  INNER JOIN HASH ON company_type_id = id_0
       4         1  │└DISTRIBUTE GATHER
       4         1   PROJECT id AS id_0
       4         1   FILTER kind = 'production companies'
       4         1   TABLE SCAN company_type
       -        26  INNER JOIN HASH ON company_id = id
   94983     48302  │└DISTRIBUTE GATHER
   94983     48302   FILTER (country_code <> 'pl') AND ((name LIKE '%Film%') OR (name LIKE '%Warner%'))
   94983     48302   TABLE SCAN company_name
 1271989        26  FILTER note IS NULL
 1271989        26  TABLE SCAN movie_companies
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(name), MIN(link), MIN(title)
       1       310  INNER JOIN LOOP ON id = movie_id AND movie_id = id AND (movie_id = id)
       1       402  │└INNER JOIN LOOP ON id = company_type_id
       1       422   │└INNER JOIN LOOP ON id = company_id
       1      1021    │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = movie_id AND (movie_id = movie_id)
       1       199     │└INNER JOIN LOOP ON keyword = 'sequel' AND id = link_type_id AND (id = link_type_id)
       1         2      │└TABLE SCAN link_type AS lt WHERE lt.link LIKE '%follow%'
      20       502      INNER JOIN LOOP ON movie_id = movie_id
      68     21088      │└INNER JOIN LOOP ON keyword_id = id
       2         2       │└TABLE SEEK keyword AS k
     610     21088       TABLE SEEK movie_keyword AS mk
  105440     21088      TABLE SEEK movie_link AS ml
     398      1020     TABLE SEEK movie_companies AS mc WHERE mc.note IS NULL
    1021      1021    TABLE SEEK company_name AS cn WHERE (cn.country_code <> 'pl') AND ((cn.name LIKE '%Film%') OR (cn.name LIKE '%Warner%'))
     422       422   TABLE SEEK company_type AS ct WHERE ct.kind = 'production companies'
     402       402  TABLE SEEK title AS t WHERE (t.production_year >= 1950) AND (t.production_year <= 2000)