PlannerIMDB — JOB-33B

SELECT MIN(cn1.name) AS first_company,
       MIN(cn2.name) AS second_company,
       MIN(mi_idx1.info) AS first_rating,
       MIN(mi_idx2.info) AS second_rating,
       MIN(t1.title) AS first_movie,
       MIN(t2.title) AS second_movie
FROM job.company_name AS cn1,
     job.company_name AS cn2,
     job.info_type AS it1,
     job.info_type AS it2,
     job.kind_type AS kt1,
     job.kind_type AS kt2,
     job.link_type AS lt,
     job.movie_companies AS mc1,
     job.movie_companies AS mc2,
     job.movie_info_idx AS mi_idx1,
     job.movie_info_idx AS mi_idx2,
     job.movie_link AS ml,
     job.title AS t1,
     job.title AS t2
WHERE cn1.country_code = '[nl]'
  AND it1.info = 'rating'
  AND it2.info = 'rating'
  AND kt1.kind IN ('tv series')
  AND kt2.kind IN ('tv series')
  AND lt.link LIKE '%follow%'
  AND mi_idx2.info < '3.0'
  AND t2.production_year = 2007
  AND lt.id = ml.link_type_id
  AND t1.id = ml.movie_id
  AND t2.id = ml.linked_movie_id
  AND it1.id = mi_idx1.info_type_id
  AND t1.id = mi_idx1.movie_id
  AND kt1.id = t1.kind_id
  AND cn1.id = mc1.company_id
  AND t1.id = mc1.movie_id
  AND ml.movie_id = mi_idx1.movie_id
  AND ml.movie_id = mc1.movie_id
  AND mi_idx1.movie_id = mc1.movie_id
  AND it2.id = mi_idx2.info_type_id
  AND t2.id = mi_idx2.movie_id
  AND kt2.id = t2.kind_id
  AND cn2.id = mc2.company_id
  AND t2.id = mc2.movie_id
  AND ml.linked_movie_id = mi_idx2.movie_id
  AND ml.linked_movie_id = mc2.movie_id
  AND mi_idx2.movie_id = mc2.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
9,391,623
9.4M
Rank
Estimation Error
Est Err
9,391,660
9.4M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
4,700
4.7K
Rank
Estimation Error
Est Err
4
4
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
10,186,010
10M
Rank
Estimation Error
Est Err
10,075,178
10M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
6,578,614
6.6M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
10,324,788
10M
Rank
Estimation Error
Est Err
10,454,158
10M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
1,170,386
1.2M
Rank
Estimation Error
Est Err
5
5
Rank
Estimation Error
Est Err
1,005,655
1M
Rank
Apache Iceberg
Estimation Error
Est Err
8,333,284
8.3M
Rank
Estimation Error
Est Err
5,789,704
5.8M
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
89,513
90K
Rank
Estimation Error
Est Err
14
14
Rank
Estimation Error
Est Err
1,400,433
1.4M
Rank
Native storage
Estimation Error
Est Err
220,006
220K
Rank
Estimation Error
Est Err
100,677
101K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
120,900
121K
Rank
Estimation Error
Est Err
4
4
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
5,420
5.4K
Rank
Estimation Error
Est Err
5,418
5.4K
Rank
Estimation Error
Est Err
8,361
8.4K
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
5,437
5.4K
Rank
Estimation Error
Est Err
4
4
Rank
Estimation Error
Est Err
0
Rank
Native storage
Estimation Error
Est Err
2,555
2.6K
Rank
Estimation Error
Est Err
2,549
2.5K
Rank
Estimation Error
Est Err
297
297
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
2,565
2.6K
Rank
Estimation Error
Est Err
4
4
Rank
Estimation Error
Est Err
0
Rank
Apache Iceberg
Estimation Error
Est Err
330,819
331K
Rank
Estimation Error
Est Err
37
37
Rank
Estimation Error
Est Err
0
0
Rank
Estimation Error
Est Err
330,827
331K
Rank
Estimation Error
Est Err
20
20
Rank
Estimation Error
Est Err
330,834
331K
Rank

Actual Query Plans

Query Plan per Engine ?
Query Plan
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE min, min, min, min, min, min
       3         4  INNER JOIN HASH ON id105 = company_id99
       3         4  │└INNER JOIN HASH ON movie_id49 = movie_id98
       1         1   │└INNER JOIN HASH ON id87 = company_id
       1         4    │└INNER JOIN HASH ON id56 = movie_id80
       1         2     │└INNER JOIN HASH ON id = info_type_id73
       1         1      │└TABLE SCAN info_type WHERE info = rating
       1         6      INNER JOIN HASH ON id56 = movie_id72
       3         2      │└INNER JOIN HASH ON id6 = kind_id59
       1         1       │└TABLE SCAN kind_type WHERE kind = tv series
      16         2       INNER JOIN HASH ON id56 = movie_id
      13         2       │└INNER JOIN HASH ON id11 = info_type_id
       1         1        │└TABLE SCAN info_type WHERE info = rating
     213         2        INNER JOIN HASH ON linked_movie_id = movie_id49
     150        20        │└INNER JOIN HASH ON id16 = kind_id
       1         1         │└TABLE SCAN kind_type WHERE kind = tv series
     943        24         INNER JOIN HASH ON id33 = linked_movie_id
    3524      2315         │└INNER JOIN HASH ON id21 = link_type_id
       2         2          │└TABLE SCAN link_type WHERE link LIKE '%follow%'
   29997     29997          TABLE SCAN movie_link
  158019        15         TABLE SCAN title WHERE production_year = 2007
  675192         2        TABLE SCAN movie_info_idx WHERE info < 3.0
 2528312   2528312       TABLE SCAN title
 1380035   1380035      TABLE SCAN movie_info_idx
 2609129   2609129     TABLE SCAN movie_companies
    2753         1    TABLE SCAN company_name WHERE country_code = nl
 2609129   2609129   TABLE SCAN movie_companies
  234997    234997  TABLE SCAN company_name
Native storage
Estimate    Actual  Operator
       -         1  PROJECT a1 AS first_company, a2 AS second_company, a3 AS first_rating, a4 AS second_rating, a5 AS first_movie, a6 AS second_movie
       -         1  AGGREGATE MIN(name_left) AS a1, MIN(name_right) AS a2, MIN(info_left) AS a3, MIN(info_right) AS a4, MIN(title_left) AS a5, MIN(title_right) AS a6
       -         0  PROJECT name, name, info_left, info_right, title, title
       -         0  PROJECT name, info_left, name, info_right, title, title
       -         0  INNER JOIN HASH ON tuple(PROJECTION_4753.linked_movie_id,PROJECTION_4753.movie_id,PROJECTION_4753.movie_id,PROJECTION_4753.linked_movie_id) = tuple(PROJECTION_4732.movie_id,PROJECTION_4732.movie_id,PROJECTION_4732.id,PROJECTION_4732.id)
       -    100506  │└PROJECT movie_id AS movie_id_right, id, name AS name_right, title AS title_right
       -    100506   PROJECT movie_id, name, title, id
       -    100506   INNER JOIN HASH ON PROJECTION_4750.id = PROJECTION_4735.company_id
       -    100506   │└PROJECT company_id, movie_id, title, id_right
       -    100506    PROJECT movie_id, company_id, title, id
       -    100506    INNER JOIN HASH ON PROJECTION_4747.movie_id = PROJECTION_4738.id
       -    119565    │└PROJECT id, title
       -    119565     PROJECT title, id
       -    119565     INNER JOIN HASH ON PROJECTION_4744.kind_id = PROJECTION_4741.id
       -         7     │└PROJECT id AS id_right
       -         7      PROJECT id
       -         7      TABLE SCAN kind_type WHERE TRUE
       -    119565     PROJECT kind_id, title, id AS id_left
       -    119565     PROJECT id, title, kind_id
       -    119565     TABLE SCAN title WHERE production_year = 2007
       -   2609129    PROJECT movie_id, company_id
       -   2609129    PROJECT movie_id, company_id
       -   2609129    TABLE SCAN movie_companies
       -    234997   PROJECT id AS id_left, name
       -    234997   PROJECT name, id
       -    234997   TABLE SCAN company_name
       -         0  PROJECT linked_movie_id, movie_id AS movie_id_left, name AS name_left, info, info, title AS title_left
       -         0  PROJECT name, info, linked_movie_id, info, movie_id, title
       -         0  INNER JOIN HASH ON PROJECTION_4765.linked_movie_id = PROJECTION_4756.movie_id
       -     25591  │└PROJECT movie_id, info AS info_right
       -     25591   PROJECT info, movie_id
       -     25591   INNER JOIN HASH ON PROJECTION_4762.info_type_id = PROJECTION_4759.id
       -         1   │└PROJECT id
       -         1    PROJECT id
       -         1    TABLE SCAN info_type WHERE info = 'rating'
       -    674828   PROJECT info_type_id, info, movie_id
       -    674828   PROJECT movie_id, info, info_type_id
       -    674828   TABLE SCAN movie_info_idx WHERE info < '3.0'
       -         0  PROJECT linked_movie_id, name, info AS info_left, title
       -         0  PROJECT name, info, linked_movie_id, title
       -         0  INNER JOIN HASH ON tuple(PROJECTION_4801.id,PROJECTION_4801.id,PROJECTION_4801.id) = tuple(PROJECTION_4768.movie_id,PROJECTION_4768.movie_id,PROJECTION_4768.movie_id)
       -         0  │└PROJECT movie_id, movie_id, movie_id, name, info, linked_movie_id
       -         0   PROJECT name, movie_id, info, movie_id, movie_id, linked_movie_id
       -         0   INNER JOIN HASH ON PROJECTION_4774.link_type_id = PROJECTION_4771.id
       -         2   │└PROJECT id
       -         2    PROJECT id
       -         2    TABLE SCAN link_type WHERE link LIKE '%follow%'
       -         0   PROJECT link_type_id, name, movie_id, info, movie_id, movie_id, linked_movie_id
       -         0   PROJECT name, movie_id, info, movie_id, movie_id, link_type_id, linked_movie_id
       -         0   INNER JOIN HASH ON tuple(PROJECTION_4786.movie_id,PROJECTION_4786.movie_id) = tuple(PROJECTION_4777.movie_id,PROJECTION_4777.movie_id)
       -    459925   │└PROJECT movie_id AS movie_id_right, info
       -    459925    PROJECT info, movie_id
       -    459925    INNER JOIN HASH ON PROJECTION_4783.info_type_id = PROJECTION_4780.id
       -         1    │└PROJECT id
       -         1     PROJECT id
       -         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
       -         0   PROJECT movie_id_left, movie_id AS movie_id_left_2, name, link_type_id, linked_movie_id
       -         0   PROJECT name, movie_id, movie_id, link_type_id, linked_movie_id
       -         0   INNER JOIN HASH ON PROJECTION_4792.movie_id = PROJECTION_4789.movie_id
       -     29997   │└PROJECT movie_id AS movie_id_right, link_type_id, linked_movie_id
       -     29997    PROJECT movie_id, link_type_id, linked_movie_id
       -     29997    TABLE SCAN movie_link
       -         0   PROJECT movie_id AS movie_id_left, name
       -         0   PROJECT name, movie_id
       -         0   INNER JOIN HASH ON PROJECTION_4798.id = PROJECTION_4795.company_id
       -   2609129   │└PROJECT company_id, movie_id
       -   2609129    PROJECT company_id, movie_id
       -   2609129    TABLE SCAN movie_companies
       -         0   PROJECT id, name
       -         0   PROJECT id, name
       -         0   TABLE SCAN company_name WHERE country_code = 'nl'
       -   2528312  PROJECT id, title
       -   2528312  PROJECT title, id
       -   2528312  INNER JOIN HASH ON PROJECTION_4807.kind_id = PROJECTION_4804.id
       -         7  │└PROJECT id AS id_right
       -         7   PROJECT id
       -         7   TABLE SCAN kind_type WHERE TRUE
       -   2528312  PROJECT kind_id, title, id AS id_left
       -   2528312  PROJECT title, id, kind_id
       -   2528312  TABLE SCAN title
Native storage
Estimate    Actual  Operator
       -         1  AGGREGATE MIN(#0), MIN(#1), MIN(#2), MIN(#3), MIN(#4), MIN(#5)
       0         4  PROJECT name, name, info, info, title, title
       0         4  INNER JOIN HASH ON id = company_id
       0         4  │└INNER JOIN HASH ON movie_id = id
       0         1   │└INNER JOIN HASH ON id = company_id
       0         4    │└INNER JOIN HASH ON movie_id = id
       0         2     │└INNER JOIN HASH ON id = kind_id
       0         2      │└INNER JOIN HASH ON id = movie_id
       0         2       │└INNER JOIN HASH ON id = info_type_id
       0         6        │└INNER JOIN HASH ON movie_id = movie_id
       0         2         │└INNER JOIN HASH ON id = link_type_id
       0        82          │└INNER JOIN HASH ON id = kind_id
       0       105           │└INNER JOIN HASH ON info_type_id = id
       2         1            │└FILTER id >= 99
       2         1             TABLE SCAN info_type WHERE info = 'rating'
      11       105            INNER JOIN HASH ON movie_id = id
     207      1053            │└INNER JOIN HASH ON linked_movie_id = id
   17200    119523             │└FILTER id BETWEEN 284 AND 2524994
   17200    119565              TABLE SCAN title WHERE production_year = 2007
   29997     29993             TABLE SCAN movie_link
  276007        56            FILTER movie_id BETWEEN 284 AND 2524994
  276007        56            TABLE SCAN movie_info_idx WHERE info < '3.0'
       1         1           TABLE SCAN kind_type WHERE kind = 'tv series'
       3         2          FILTER id <= 17
       3         2          TABLE SCAN link_type WHERE contains(link,'follow')
 1380035     12993         TABLE SCAN movie_info_idx WHERE movie_id <= 186175
       2         1        FILTER id >= 99
       2         1        TABLE SCAN info_type WHERE info = 'rating'
 2528312         2       TABLE SCAN title WHERE id >= 2 AND id <= 186175
       1         1      TABLE SCAN kind_type WHERE kind = 'tv series'
 2609129     55800     TABLE SCAN movie_companies WHERE movie_id <= 186175
    1644      1583    TABLE SCAN company_name WHERE country_code = 'nl'
 2609129         4   TABLE SCAN movie_companies WHERE movie_id >= 284 AND movie_id <= 2524994
  234997         4  TABLE SCAN company_name
Apache Iceberg
Estimate    Actual  Operator
       1         1  PROJECT first_company, second_company, first_rating, second_rating, first_movie, second_movie
       1         1  AGGREGATE MIN(name), MIN(name), MIN(info), MIN(info), MIN(title), MIN(title)
     595        10  DISTRIBUTE GATHER
     595        10  AGGREGATE MIN(name), MIN(name), MIN(info), MIN(info), MIN(title), MIN(title)
     595         4  PROJECT name, name, info, info, title, title
     595         4  INNER JOIN HASH ON id = kind_id
       2         1  │└DISTRIBUTE GATHER
       2         1   FILTER kind = 'tv series'
       7         7   DISTRIBUTE ROUND ROBIN
       7         7   TABLE SCAN kind_type WHERE kind = 'tv series'
    2083         4  INNER JOIN HASH ON linked_movie_id = id AND movie_id = id AND movie_id = id
    2083        10  │└DISTRIBUTE GATHER
    2083        10   INNER JOIN HASH ON id = kind_id
       2         1   │└DISTRIBUTE GATHER
       2         1    FILTER kind = 'tv series'
       7         7    DISTRIBUTE ROUND ROBIN
       7         7    TABLE SCAN kind_type WHERE kind = 'tv series'
    7291        10   INNER JOIN HASH ON movie_id = id AND movie_id = id AND movie_id = id
    7291        10   │└DISTRIBUTE GATHER
    7291        10    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'
    7291      3705    INNER JOIN HASH ON linked_movie_id = movie_id AND movie_id = movie_id
    7291      2517    │└DISTRIBUTE GATHER
    7291      2517     INNER JOIN HASH ON company_id = id
    7291      2517     │└DISTRIBUTE GATHER
    7291      2517      INNER JOIN HASH ON linked_movie_id = movie_id
    7058       477      │└DISTRIBUTE GATHER
    7058       477       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%'
   29997     13204       PROJECT name, movie_id, movie_id, info, movie_id, linked_movie_id, link_type_id
   29997     13204       INNER JOIN HASH ON movie_id = movie_id AND movie_id = movie_id
   29997     29997       │└TABLE SCAN movie_link WHERE ((link_type_id >= 1) AND (link_type_id <= 2)) AND link_type_id IN(1,2)
  521832      9485       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'
  521832     28518       INNER JOIN HASH ON movie_id = movie_id
  521832     12253       │└DISTRIBUTE HASH ON movie_id
  521832     12253        INNER JOIN HASH ON id = company_id
   47000      2340        │└DISTRIBUTE GATHER
   47000      2340         FILTER country_code = 'nl'
  234997    234997         TABLE SCAN company_name WHERE country_code = 'nl'
 2609129    494814        TABLE SCAN movie_companies WHERE (((company_id >= 8) AND (company_id <= 234697)) AND TRUE) AND ((((movie_id >= 2) AND (movie_id <= 186175)) AND ((movie_id >= 2) AND (movie_id <= 186175))) AND TRUE)
 1380035   1380035       DISTRIBUTE HASH ON movie_id
 1380035   1380035       TABLE SCAN movie_info_idx WHERE CASE MOD(HASH_REPARTITION movie_id,10) WHEN 0 THEN (((movie_id >= 67) AND (movie_id <= 2523976)) AND TRUE) WHEN 1 THEN (((movie_id >= 63) AND (movie_id <= 2523974)) AND TRUE) WHEN 2 THEN (((movie_id >= 51) AND (movie_id <= 2524489)) AND TRUE) WHEN 3 THEN (((movie_id >= 423) AND (movie_id <= 2524560)) AND TRUE) WHEN 4 THEN (((movie_id >= 55) AND (movie_id <= 2524819)) AND TRUE) WHEN 5 THEN (((movie_id >= 54) AND (movie_id ...
 2609129   2609129      TABLE SCAN movie_companies WHERE ((movie_id >= 7698) AND (movie_id <= 2486296)) AND TRUE
  234997    234997     TABLE SCAN company_name WHERE ((id >= 5) AND (id <= 213884)) AND TRUE
  276007    674828    FILTER info < '3.0'
 1380035   1380035    TABLE SCAN movie_info_idx WHERE ((info < '3.0') AND ((((movie_id >= 7698) AND (movie_id <= 2486296)) AND ((movie_id >= 7698) AND (movie_id <= 2486296))) AND struct(movie_id,movie_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 > , < expr > , < expr > , < expr ...
 2528312    245760   TABLE SCAN title WHERE (((((id >= 22690) AND (id <= 151550)) AND ((id >= 22690) AND (id <= 151550))) AND ((id >= 22690) AND (id <= 151550))) AND struct(id,id,id) IN( < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > )) AND (((kind_id >= 2) AND (kind_id <= 2)) AND kind_id IN 2)
   18060     91496  FILTER production_year = 2007
 2528312   1723262  TABLE SCAN title WHERE ((production_year = 2007) AND (((((id >= 27907) AND (id <= 2042992)) AND ((id >= 27907) AND (id <= 2042992))) AND ((id >= 27907) AND (id <= 2042992))) AND struct(id,id,id) IN( < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > , < expr > ))) AND (((kind_id >= 2) AND (kind_id <= 2)) AND kind_id IN 2)
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(cn1.name), MIN(cn2.name), MIN(mi_idx1.info), MIN(mi_idx2.info), MIN(t1.title), MIN(t2.title)
       1         1  AGGREGATE MIN(cn1.name), MIN(cn2.name), MIN(mi_idx1.info), MIN(mi_idx2.info), MIN(t1.title), MIN(t2.title)
   40600         4  INNER JOIN HASH ON t2.kind_id = kt2.id
   40600    119565  │└DISTRIBUTE HASH
  235000    119565   DISTRIBUTE HASH
  235000    119565   TABLE SCAN title WHERE (t2.production_year IS NOT NULL) AND (t2.production_year = 2007L)
   40600         4  INNER JOIN HASH ON ml.linked_movie_id = t2.id
   40600    119565  │└DISTRIBUTE GATHER
 2610000    119565   TABLE SCAN title WHERE (t2.production_year IS NOT NULL) AND (t2.production_year = 2007L)
   40600        10  INNER JOIN HASH ON ml.movie_id = t1.id
   40600        10  │└DISTRIBUTE GATHER
   38600        10   INNER JOIN HASH ON mc2.movie_id = mi_idx2.movie_id
   38600      2517   │└DISTRIBUTE GATHER
    4700      2517    INNER JOIN HASH ON mc2.company_id = cn2.id
    4700      2517    │└DISTRIBUTE GATHER
   37600      2517     INNER JOIN HASH ON ml.linked_movie_id = mc2.movie_id
   37600       477     │└DISTRIBUTE GATHER
   37600       477      INNER JOIN HASH ON ml.link_type_id = lt.id
   37600         2      │└DISTRIBUTE GATHER
 1380000         2       TABLE SCAN link_type WHERE contains(lt.link,'follow')
   12100     13204      INNER JOIN HASH ON mi_idx1.movie_id = ml.movie_id
   12100     29997      │└DISTRIBUTE GATHER
     113     29997       TABLE SCAN movie_link
  276000     43631      INNER JOIN HASH ON mc1.movie_id = mi_idx1.movie_id
  276000     56410      │└DISTRIBUTE GATHER
  421000     56410       INNER JOIN HASH ON cn1.id = mc1.company_id
  421000      2340       │└DISTRIBUTE GATHER
       7      2340        TABLE SCAN company_name WHERE (cn1.country_code IS NOT NULL) AND (cn1.country_code = 'nl')
       7   2605259       TABLE SCAN movie_companies
  276000    458631      INNER JOIN HASH ON mi_idx1.info_type_id = it1.id
  276000         1      │└DISTRIBUTE GATHER
 2530000         1       TABLE SCAN info_type WHERE it1.info = 'rating'
 2530000   1376010      TABLE SCAN movie_info_idx
  235000   2605050     TABLE SCAN movie_companies
   30000    230918    TABLE SCAN company_name
   12000     25427   INNER JOIN HASH ON mi_idx2.info_type_id = it2.id
   12000    230918   │└DISTRIBUTE HASH
 2610000    230918    DISTRIBUTE HASH
 2610000    230918    TABLE SCAN company_name
     113    669103   TABLE SCAN movie_info_idx WHERE mi_idx2.info < '3.0'
   40600     90852  DISTRIBUTE HASH ON t1.id, t1.id, t1.id
   12400     90852  INNER JOIN HASH ON t1.kind_id = kt1.id
   12400         1  │└DISTRIBUTE GATHER
      18         1   TABLE SCAN kind_type WHERE kt1.kind = 'tv series'
 1380000   2336059  TABLE SCAN title
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(name as name) AS Expr1028, MIN(name as name) AS Expr1029, MIN(info as info) AS Expr1030, MIN(info as info) AS Expr1031, MIN(title as title) AS Expr1032, MIN(title as title) AS Expr1033
       1         4  INNER JOIN HASH ON mi_idx1.info_type_id = it1.id
       1         1  │└TABLE SCAN info_type AS it1 WHERE info as info = 'rating'
       1         4  INNER JOIN HASH ON t1.kind_id = kt1.id
       1         1  │└TABLE SCAN kind_type AS kt1 WHERE kind as kind = 'tv series'
       1         4  INNER JOIN HASH ON t2.kind_id = kt2.id
       1         1  │└TABLE SCAN kind_type AS kt2 WHERE kind as kind = 'tv series'
       1         4  INNER JOIN HASH ON ml.link_type_id = lt.id
       1         2  │└TABLE SCAN link_type AS lt WHERE link as link LIKE '%follow%'
       1         4  FILTER country_code as country_code = 'nl'
       5        14  INNER JOIN LOOP ON Bmk1000 = Bmk1000
       1        14  │└TABLE SEEK company_name AS cn1
       5        14  INNER JOIN LOOP ON mc1.company_id = cn1.id
       1        14  │└TABLE SEEK company_name AS cn1
       5        14  INNER JOIN LOOP ON Bmk1002 = Bmk1002
       1        14  │└TABLE SEEK company_name AS cn2
       5        14  INNER JOIN LOOP ON mc2.company_id = cn2.id
       1        14  │└TABLE SEEK company_name AS cn2
       5        14  INNER JOIN LOOP ON Bmk1016 = Bmk1016
       1        14  │└TABLE SEEK movie_companies AS mc2
       5        14  PROJECT BmkToPage Bmk1016 AS Expr1225
       5        14  INNER JOIN LOOP ON t2.id = mc2.movie_id
       9        14  │└TABLE SEEK movie_companies AS mc2
       1         4  INNER JOIN LOOP ON Bmk1014 = Bmk1014
       1         4  │└TABLE SEEK movie_companies AS mc1
       1         4  PROJECT BmkToPage Bmk1014 AS Expr1222
       1         4  INNER JOIN LOOP ON t1.id = mc1.movie_id
       9         4  │└TABLE SEEK movie_companies AS mc1
       1         2  INNER JOIN LOOP ON t1.id = mi_idx1.movie_id
       2         2  │└TABLE SEEK movie_info_idx AS mi_idx1 WHERE BLOOM(info_type_id as info_type_id)
       1         2  FILTER production_year as production_year = 2007
       6        21  INNER JOIN LOOP ON Bmk1026 = Bmk1026
       1        21  │└TABLE SEEK title AS t2 WHERE BLOOM(kind_id as kind_id)
      65        30  PROJECT BmkToPage Bmk1026 AS Expr1218
      65        30  INNER JOIN LOOP ON ml.linked_movie_id = t2.id
       1        30  │└TABLE SEEK title AS t2
      65        30  INNER JOIN LOOP ON Bmk1024 = Bmk1024
       1        30  │└TABLE SEEK title AS t1 WHERE BLOOM(kind_id as kind_id)
     652        34  PROJECT BmkToPage Bmk1024 AS Expr1215
     652        34  INNER JOIN LOOP ON ml.movie_id = t1.id
       1        34  │└TABLE SEEK title AS t1
     652        34  INNER JOIN HASH ON mi_idx2.movie_id = ml.linked_movie_id
    2999      2315  │└TABLE SEEK movie_link AS ml WHERE BLOOM(link_type_id as link_type_id)
     135        25  INNER JOIN HASH ON mi_idx2.info_type_id = it2.id
       1         1  │└TABLE SCAN info_type AS it2 WHERE info as info = 'rating'
      67        25  TABLE SEEK movie_info_idx AS mi_idx2 WHERE info as info < '3.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 first_company, min_85 AS second_company, min_86 AS first_rating, min_87 AS second_rating, min_88 AS first_movie, min_89 AS second_movie
       1         1  AGGREGATE MIN(min_90) AS min, MIN(min_91) AS min_85, MIN(min_92) AS min_86, MIN(min_93) AS min_87, MIN(min_94) AS min_88, MIN(min_95) AS min_89
       -        16  DISTRIBUTE GATHER
       -        16  AGGREGATE MIN(name) AS min_90, MIN(name_1) AS min_91, MIN(info_46) AS min_92, MIN(info_54) AS min_93, MIN(title) AS min_94, MIN(title_71) AS min_95
       -         4  INNER JOIN HASH ON kind_id_73 = id_23
       7         1  │└DISTRIBUTE GATHER
       7         1   PROJECT id AS id_23
       7         1   FILTER kind = 'tv series'
       7         1   TABLE SCAN kind_type
       -         4  INNER JOIN HASH ON linked_movie_id = id_70
 2275481      4058  │└DISTRIBUTE HASH ON id_70
 2275481      4058   PROJECT id AS id_70, title AS title_71, kind_id AS kind_id_73
 2275481      4058   FILTER production_year = 2007
 2275481      4058   TABLE SCAN title
       -         4  INNER JOIN HASH ON kind_id = id_19
       7         1  │└DISTRIBUTE GATHER
       7         1   PROJECT id AS id_19
       7         1   FILTER kind = 'tv series'
       7         1   TABLE SCAN kind_type
       -         4  INNER JOIN HASH ON movie_id = id_64
 2528312     90852  │└DISTRIBUTE HASH ON id_64
 2528312     90852   PROJECT id AS id_64, title, kind_id
 2528312     90852   TABLE SCAN title
       -         4  INNER JOIN HASH ON info_type_id_53 = id_14
     113         1  │└DISTRIBUTE GATHER
     113         1   PROJECT id AS id_14
     113         1   FILTER info = 'rating'
     113         1   TABLE SCAN info_type
       -         4  INNER JOIN HASH ON linked_movie_id = movie_id_52
 1380035       288  │└DISTRIBUTE HASH ON movie_id_52
 1380035       288   PROJECT movie_id AS movie_id_52, info_type_id AS info_type_id_53, info AS info_54
 1380035       288   FILTER info < '3.0'
 1380035       288   TABLE SCAN movie_info_idx
       -         4  INNER JOIN HASH ON company_id_38 = id_0
  234997    234997  │└DISTRIBUTE GATHER
  234997    234997   PROJECT id AS id_0, name AS name_1
  234997    234997   TABLE SCAN company_name
       -         4  INNER JOIN HASH ON linked_movie_id = movie_id_37
 2609129       609  │└DISTRIBUTE HASH ON movie_id_37
 2609129       609   PROJECT movie_id AS movie_id_37, company_id AS company_id_38
 2609129       609   TABLE SCAN movie_companies
       -         1  INNER JOIN HASH ON link_type_id = id_28
      18         2  │└DISTRIBUTE GATHER
      18         2   PROJECT id AS id_28
      18         2   FILTER link LIKE '%follow%'
      18         2   TABLE SCAN link_type
       -         1  INNER JOIN HASH ON movie_id = movie_id_60
   29997         2  │└DISTRIBUTE GATHER
   29997         2   PROJECT movie_id AS movie_id_60, linked_movie_id, link_type_id
   29997         2   TABLE SCAN movie_link
       -         1  INNER JOIN HASH ON info_type_id = id_10
     113         1  │└DISTRIBUTE GATHER
     113         1   PROJECT id AS id_10
     113         1   FILTER info = 'rating'
     113         1   TABLE SCAN info_type
       -         1  INNER JOIN HASH ON movie_id = movie_id_45
 1380035         2  │└DISTRIBUTE HASH ON movie_id_45
 1380035         2   PROJECT movie_id AS movie_id_45, info_type_id, info AS info_46
 1380035         2   TABLE SCAN movie_info_idx
       -         1  INNER JOIN HASH ON id = company_id
 2609129         4  │└DISTRIBUTE HASH ON company_id
 2609129         4   TABLE SCAN movie_companies
  211497         1  FILTER country_code = 'nl'
  211497         1  TABLE SCAN company_name
Native storage
Estimate    Actual  Operator
       1         1  AGGREGATE MIN(name), MIN(name), MIN(info), MIN(info), MIN(title), MIN(title)
       1         4  INNER JOIN LOOP ON id = kind_id
       1         4  │└INNER JOIN LOOP ON id = company_id
       1        14   │└INNER JOIN LOOP ON id = company_id
       1        14    │└INNER JOIN LOOP ON movie_id = movie_id AND movie_id = id AND (movie_id = id)
       1         4     │└INNER JOIN LOOP ON id = kind_id
       1         4      │└INNER JOIN LOOP ON movie_id = id
       1         2       │└INNER JOIN LOOP ON id = movie_id AND linked_movie_id = id AND (linked_movie_id = id)
       1        30        │└INNER JOIN LOOP ON movie_id = id AND id = info_type_id AND (id = info_type_id)
      20        34         │└INNER JOIN LOOP ON id = movie_id
      20        34          │└INNER JOIN LOOP ON link_type_id = id
       1         1           │└TABLE SEEK info_type AS it1 WHERE it1.info = 'rating'
      20        34           INNER JOIN HASH ON info_type_id = id
       1         1           │└TABLE SEEK info_type AS it2
    2289      2902           INNER JOIN LOOP ON movie_id = linked_movie_id
    1666      2315           │└INNER JOIN LOOP ON link_type_id = id
       1         2            │└TABLE SCAN link_type AS lt WHERE lt.link LIKE '%follow%'
    3750      2315            TABLE SEEK movie_link AS ml
    2315      2893           TABLE SEEK movie_info_idx AS mi_idx2 WHERE mi_idx2.info < '3.0'
      34        34          TABLE SEEK title AS t1
     102        90         TABLE SEEK movie_info_idx AS mi_idx1
      30        30        TABLE SEEK title AS t2 WHERE t2.production_year = 2007
      10         4       TABLE SEEK movie_companies AS mc1
       4         4      TABLE SEEK kind_type AS kt2 WHERE kt2.kind = 'tv series'
      20        14     TABLE SEEK movie_companies AS mc2
      14        14    TABLE SEEK company_name AS cn2
      14        14   TABLE SEEK company_name AS cn1 WHERE cn1.country_code = 'nl'
       4         4  TABLE SEEK kind_type AS kt1 WHERE kt1.kind = 'tv series'