explain.depesz.com

PostgreSQL's explain analyze made readable

Result: EmuZ : tpch2

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Limit (cost=48,134.50..48,134.60 rows=5 width=198) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Gather Motion 16:1 (slice7; segments: 16) (cost=48,134.50..48,134.60 rows=5 width=198) (actual rows= loops=)

  • Merge Key: public.supplier.s_acctbal, public.nation.n_name, public.supplier.s_name, part.p_partkey
3. 0.000 0.000 ↓ 0.0

Limit (cost=48,134.50..48,134.51 rows=1 width=198) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Sort (cost=48,134.50..48,134.51 rows=1 width=198) (actual rows= loops=)

  • Sort Key (Limit): public.supplier.s_acctbal, public.nation.n_name, public.supplier.s_name, part.p_partkey
5. 0.000 0.000 ↓ 0.0

Hash Join (cost=43,731.78..48,134.46 rows=1 width=198) (actual rows= loops=)

  • Hash Cond: public.nation.n_regionkey = public.region.r_regionkey
6. 0.000 0.000 ↓ 0.0

Hash Join (cost=43,726.35..48,128.78 rows=2 width=206) (actual rows= loops=)

  • Hash Cond: public.supplier.s_nationkey = public.nation.n_nationkey
7. 0.000 0.000 ↓ 0.0

Redistribute Motion 16:16 (slice5; segments: 16) (cost=43,709.79..48,111.92 rows=2 width=180) (actual rows= loops=)

  • Hash Key: public.supplier.s_nationkey
8. 0.000 0.000 ↓ 0.0

Hash Join (cost=43,709.79..48,111.53 rows=2 width=180) (actual rows= loops=)

  • Hash Cond: public.partsupp.ps_suppkey = public.supplier.s_suppkey
9. 0.000 0.000 ↓ 0.0

Redistribute Motion 16:16 (slice4; segments: 16) (cost=43,420.79..47,822.23 rows=2 width=42) (actual rows= loops=)

  • Hash Key: public.partsupp.ps_suppkey
10. 0.000 0.000 ↓ 0.0

Hash Join (cost=43,420.79..47,821.84 rows=2 width=42) (actual rows= loops=)

  • Hash Cond: "Expr_SUBQUERY".csq_c0 = part.p_partkey AND "Expr_SUBQUERY".csq_c1 = public.partsupp.ps_supplycost
11. 0.000 0.000 ↓ 0.0

HashAggregate (cost=24,469.51..26,469.90 rows=10,002 width=40) (actual rows= loops=)

  • Group By: public.partsupp.ps_partkey
12. 0.000 0.000 ↓ 0.0

Hash Join (cost=1,052.85..23,669.36 rows=10,002 width=16) (actual rows= loops=)

  • Hash Cond: public.partsupp.ps_suppkey = public.supplier.s_suppkey
13. 0.000 0.000 ↓ 0.0

Seq Scan on partsupp (cost=0.00..12,614.56 rows=50,010 width=24) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Hash (cost=652.85..652.85 rows=2,001 width=8) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Broadcast Motion 16:16 (slice3; segments: 16) (cost=23.85..652.85 rows=2,001 width=8) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Hash Join (cost=23.85..312.85 rows=126 width=8) (actual rows= loops=)

  • Hash Cond: public.supplier.s_nationkey = public.nation.n_nationkey
17. 0.000 0.000 ↓ 0.0

Seq Scan on supplier (cost=0.00..164.00 rows=625 width=16) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Hash (cost=22.85..22.85 rows=6 width=8) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Broadcast Motion 16:16 (slice2; segments: 16) (cost=5.43..22.85 rows=6 width=8) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Hash Join (cost=5.43..22.00 rows=1 width=8) (actual rows= loops=)

  • Hash Cond: public.nation.n_regionkey = public.region.r_regionkey
21. 0.000 0.000 ↓ 0.0

Seq Scan on nation (cost=0.00..16.25 rows=2 width=16) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Hash (cost=5.23..5.23 rows=2 width=8) (actual rows= loops=)

  • -> Broadcast Motion 16:16 (slice1; segments: 16) (cost=0.00..5.23 rows=2 wi
23. 0.000 0.000 ↓ 0.0

Seq Scan on region (cost=0.00..5.06 rows=1 width=8) (actual rows= loops=)

  • Filter: r_name = 'MIDDLE EAST'::bpchar
24. 0.000 0.000 ↓ 0.0

Hash (cost=18,814.28..18,814.28 rows=571 width=58) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Hash Join (cost=4,085.17..18,814.28 rows=571 width=58) (actual rows= loops=)

  • Hash Cond: public.partsupp.ps_partkey = part.p_partkey
26. 0.000 0.000 ↓ 0.0

Seq Scan on partsupp (cost=0.00..12,614.56 rows=50,010 width=24) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Hash (cost=4,056.03..4,056.03 rows=146 width=34) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Seq Scan on part (cost=0.00..4,056.03 rows=146 width=34) (actual rows= loops=)

  • Filter: p_size = 31 AND p_type::text ~~ '%COPPER'::text
29. 0.000 0.000 ↓ 0.0

Hash (cost=164.00..164.00 rows=625 width=154) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Seq Scan on supplier (cost=0.00..164.00 rows=625 width=154) (actual rows= loops=)

31. 0.000 0.000 ↓ 0.0

Hash (cost=16.25..16.25 rows=2 width=42) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Seq Scan on nation (cost=0.00..16.25 rows=2 width=42) (actual rows= loops=)

33. 0.000 0.000 ↓ 0.0

Hash (cost=5.23..5.23 rows=2 width=8) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Broadcast Motion 16:16 (slice6; segments: 16) (cost=0.00..5.23 rows=2 width=8) (actual rows= loops=)

35. 0.000 0.000 ↓ 0.0

Seq Scan on region (cost=0.00..5.06 rows=1 width=8) (actual rows= loops=)

  • Filter: r_name = 'MIDDLE EAST'::bpchar