PlannerTPC-H — TPCH-Q13

Engine Compare

Accuracy chart, rows processed ?
Scan
Scan
Join Probe
Join
Sort
Sort
Hash Build
Hash
Aggregate
Agg
Distribute
Dist
ClickHouse
Estimation Error
Est Err
Row Operations
Ops
1,649,939
1.6M
Rank
Estimation Error
Est Err
Row Operations
Ops
1,599,915
1.6M
Rank
Estimation Error
Est Err
Row Operations
Ops
50
50
Rank
Estimation Error
Est Err
Row Operations
Ops
1,599,915
1.6M
Rank
Estimation Error
Est Err
Row Operations
Ops
1,749,915
1.7M
Rank
Estimation Error
Est Err
Row Operations
Ops
0
0
Rank
DuckDB
Estimation Error
Est Err
Row Operations
Ops
1,649,945
1.6M
Rank
Estimation Error
Est Err
Row Operations
Ops
1,599,945
1.6M
Rank
Estimation Error
Est Err
Row Operations
Ops
48
48
Rank
Estimation Error
Est Err
Row Operations
Ops
1,599,945
1.6M
Rank
Estimation Error
Est Err
Row Operations
Ops
1,749,945
1.7M
Rank
Estimation Error
Est Err
Row Operations
Ops
0
0
Rank
PostgreSQL
Estimation Error
Est Err
Row Operations
Ops
1,649,944
1.6M
Rank
Estimation Error
Est Err
Row Operations
Ops
1,599,944
1.6M
Rank
Estimation Error
Est Err
Row Operations
Ops
1,749,992
1.7M
Rank
Estimation Error
Est Err
Row Operations
Ops
1,599,944
1.6M
Rank
Estimation Error
Est Err
Row Operations
Ops
2,049,848
2M
Rank
Estimation Error
Est Err
Row Operations
Ops
0
0
Rank
SQL Server
Estimation Error
Est Err
Row Operations
Ops
1,649,945
1.6M
Rank
Estimation Error
Est Err
Row Operations
Ops
150,000
150K
Rank
Estimation Error
Est Err
Row Operations
Ops
48
48
Rank
Estimation Error
Est Err
Row Operations
Ops
150,000
150K
Rank
Estimation Error
Est Err
Row Operations
Ops
1,649,945
1.6M
Rank
Estimation Error
Est Err
Row Operations
Ops
0
0
Rank

Actual Query Plans

Query Plan per Engine ?
Query Plan
ClickHouse
Estimate    Actual  Operator
       -        50  PROJECT COUNT()
       -        50  SORT COUNT(), c_count
       -        50  GROUP BY HASH c_count AGGREGATE COUNT()
       -    150000  PROJECT COUNT(o_orderkey)
       -    150000  GROUP BY HASH c_custkey AGGREGATE COUNT(o_orderkey)
       -   1599915  LEFT OUTER JOIN HASH ON c_custkey = o_custkey
       -   1499939  │└TABLE SCAN orders WHERE notLike(o_comment,' % special % requests % ')
       -    150000  TABLE SCAN customer
DuckDB
Estimate    Actual  Operator
       -        48  SORT count_star(), c_count
   82990        48  GROUP BY HASH #0 AGGREGATE count_star()
  124757    150000  PROJECT c_count
  124757    150000  PROJECT COUNT(o_orderkey)
  124757    150000  GROUP BY HASH #0 AGGREGATE COUNT(#1)
  300000   1599945  PROJECT c_custkey, o_orderkey
  300000   1599945  RIGHT OUTER JOIN HASH ON o_custkey = c_custkey
  150000    150000  │└TABLE SCAN customer
  300000   1499945  TABLE SCAN orders WHERE o_comment NOT LIKE ' % special % requests % '
SQL Server
Estimate    Actual  Operator
      25        48  SORT Expr1005, Expr1004
      25        48  PROJECT CONVERT_IMPLICIT(int,Expr1013,0) AS Expr1005
      25        48  GROUP BY HASH AGGREGATE COUNT(*) AS Expr1013
  150000    150000  PROJECT CASE WHEN Expr1004 IS NULL THEN 0 ELSE Expr1004 END AS Expr1004
  150000    150000  INNER JOIN HASH ON c_custkey = o_custkey
   50274     50000  │└PROJECT CONVERT_IMPLICIT(int,Expr1012,0) AS Expr1004
   50274     50000   GROUP BY HASH AGGREGATE COUNT(*) AS Expr1012
 1500000   1499945   TABLE SEEK orders WHERE  NOT o_comment LIKE ' % special % requests % '
  150000    150000  TABLE SEEK customer
PostgreSQL
Estimate    Actual  Operator
     200        48  SORT COUNT(*), c_count
     200        48  GROUP BY SORT c_count AGGREGATE COUNT(*)
  150000    150000  SORT c_count
  150000    150000  GROUP BY SORT c_custkey AGGREGATE COUNT(o_orderkey)
  600000    299904  GROUP BY SORT c_custkey AGGREGATE PARTIALCOUNT(o_orderkey)
 1935292   1599944  SORT c_custkey
 1935292   1599944  RIGHT OUTER JOIN HASH ON o_custkey = c_custkey
  250000    150000  │└TABLE SCAN customer
 1935292   1499944  TABLE SCAN orders WHERE o_comment NOT LIKE ' % special % requests % '