explain.depesz.com

PostgreSQL's explain analyze made readable

Result: zkwU : tpch5

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

Limit (cost=155,935.17..155,935.20 rows=1 width=136) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Gather Motion 16:1 (slice7; segments: 16) (cost=155,935.17..155,935.20 rows=1 width=136) (actual rows= loops=)

  • Merge Key: revenue
3. 0.000 0.000 ↓ 0.0

Limit (cost=155,935.17..155,935.18 rows=1 width=136) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Sort (cost=155,935.17..155,935.24 rows=2 width=136) (actual rows= loops=)

  • Sort Key (Limit): revenue
5. 0.000 0.000 ↓ 0.0

HashAggregate (cost=155,934.28..155,934.59 rows=2 width=136) (actual rows= loops=)

  • Group By: nation.n_name
6. 0.000 0.000 ↓ 0.0

Redistribute Motion 16:16 (slice6; segments: 16) (cost=155,933.28..155,933.91 rows=2 width=136) (actual rows= loops=)

  • Hash Key: nation.n_name
7. 0.000 0.000 ↓ 0.0

HashAggregate (cost=155,933.28..155,933.41 rows=2 width=136) (actual rows= loops=)

  • Group By: nation.n_name
8. 0.000 0.000 ↓ 0.0

Hash Join (cost=45,547.47..155,897.97 rows=442 width=42) (actual rows= loops=)

  • Hash Cond: customer.c_nationkey = supplier.s_nationkey AND lineitem.l_suppkey = supplier.s_suppkey
9. 0.000 0.000 ↓ 0.0

Hash Join (cost=41,283.47..150,112.29 rows=11,075 width=66) (actual rows= loops=)

  • Hash Cond: lineitem.l_orderkey = orders.o_orderkey
10. 0.000 0.000 ↓ 0.0

Seq Scan on lineitem (cost=0.00..91,606.51 rows=375,185 width=32) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Hash (cost=40,729.53..40,729.53 rows=2,770 width=50) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Redistribute Motion 16:16 (slice4; segments: 16) (cost=4,760.32..40,729.53 rows=2,770 width=50) (actual rows= loops=)

  • Hash Key: orders.o_orderkey
13. 0.000 0.000 ↓ 0.0

Hash Join (cost=4,760.32..39,843.23 rows=2,770 width=50) (actual rows= loops=)

  • Hash Cond: orders.o_custkey = customer.c_custkey
14. 0.000 0.000 ↓ 0.0

Redistribute Motion 16:16 (slice1; segments: 16) (cost=0.00..33,975.03 rows=13,849 width=16) (actual rows= loops=)

  • Hash Key: orders.o_custkey
15. 0.000 0.000 ↓ 0.0

Seq Scan on orders (cost=0.00..29,543.50 rows=13,849 width=16) (actual rows= loops=)

  • Filter: o_orderdate >= '1997-01-01'::date AND o_orderdate < '1998-01-01 00:00:00'::timestamp without time zo
16. 0.000 0.000 ↓ 0.0

Hash (cost=4,382.17..4,382.17 rows=1,891 width=50) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Hash Join (cost=23.85..4,382.17 rows=1,891 width=50) (actual rows= loops=)

  • Hash Cond: customer.c_nationkey = nation.n_nationkey
18. 0.000 0.000 ↓ 0.0

Seq Scan on customer (cost=0.00..2,467.59 rows=9,454 width=16) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

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

20. 0.000 0.000 ↓ 0.0

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

21. 0.000 0.000 ↓ 0.0

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

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

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

23. 0.000 0.000 ↓ 0.0

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

24. 0.000 0.000 ↓ 0.0

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

25. 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
26. 0.000 0.000 ↓ 0.0

Hash (cost=1,864.00..1,864.00 rows=10,000 width=16) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Broadcast Motion 16:16 (slice5; segments: 16) (cost=0.00..1,864.00 rows=10,000 width=16) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

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