explain.depesz.com

PostgreSQL's explain analyze made readable

Result: rhLH

Settings
# exclusive inclusive rows x rows loops node
1. 0.061 31,073.533 ↑ 1.0 25 1

Finalize GroupAggregate (cost=154,691.77..154,692.39 rows=25 width=19) (actual time=31,073.477..31,073.533 rows=25 loops=1)

  • Group Key: part.p_brand
2. 0.129 31,073.472 ↓ 1.5 75 1

Sort (cost=154,691.77..154,691.89 rows=50 width=19) (actual time=31,073.463..31,073.472 rows=75 loops=1)

  • Sort Key: part.p_brand
  • Sort Method: quicksort Memory: 30kB
3. 1,851.857 31,073.343 ↓ 1.5 75 1

Gather (cost=154,685.11..154,690.36 rows=50 width=19) (actual time=31,073.056..31,073.343 rows=75 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
4. 215.572 29,221.486 ↑ 1.0 25 3

Partial HashAggregate (cost=153,685.11..153,685.36 rows=25 width=19) (actual time=29,221.470..29,221.486 rows=25 loops=3)

  • Group Key: part.p_brand
5. 2,611.057 29,005.914 ↑ 1.3 349,525 3

Hash Join (cost=98,678.96..151,500.57 rows=436,907 width=11) (actual time=16,301.106..29,005.914 rows=349,525 loops=3)

  • Hash Cond: (partsupp.ps_partkey = part.p_partkey)
6. 3,303.591 25,647.669 ↑ 1.3 349,525 3

Hash Join (cost=89,104.96..135,534.67 rows=436,907 width=16) (actual time=15,539.701..25,647.669 rows=349,525 loops=3)

  • Hash Cond: ((lineitem.l_partkey = partsupp.ps_partkey) AND (lineitem.l_suppkey = partsupp.ps_suppkey))
7. 1,613.664 17,101.944 ↑ 1.3 349,525 3

Hash Join (cost=46,960.96..82,921.91 rows=436,907 width=16) (actual time=10,270.164..17,101.944 rows=349,525 loops=3)

  • Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)
8. 5,263.778 5,263.778 ↑ 1.3 349,525 3

Parallel Seq Scan on lineitem (cost=0.00..25,596.07 rows=436,907 width=24) (actual time=0.358..5,263.778 rows=349,525 loops=3)

9. 898.412 10,224.502 ↑ 1.0 1,048,576 3

Hash (cost=29,757.76..29,757.76 rows=1,048,576 width=4) (actual time=10,224.502..10,224.502 rows=1,048,576 loops=3)

  • Buckets: 131072 Batches: 16 Memory Usage: 3335kB
10. 9,326.090 9,326.090 ↑ 1.0 1,048,576 3

Seq Scan on orders (cost=0.00..29,757.76 rows=1,048,576 width=4) (actual time=6.891..9,326.090 rows=1,048,576 loops=3)

11. 809.987 5,242.134 ↑ 1.0 800,000 3

Hash (cost=26,237.00..26,237.00 rows=800,000 width=16) (actual time=5,242.134..5,242.134 rows=800,000 loops=3)

  • Buckets: 131072 Batches: 16 Memory Usage: 3373kB
12. 4,432.147 4,432.147 ↑ 1.0 800,000 3

Seq Scan on partsupp (cost=0.00..26,237.00 rows=800,000 width=16) (actual time=0.258..4,432.147 rows=800,000 loops=3)

13. 181.883 747.188 ↑ 1.0 200,000 3

Hash (cost=6,097.00..6,097.00 rows=200,000 width=15) (actual time=747.188..747.188 rows=200,000 loops=3)

  • Buckets: 131072 Batches: 4 Memory Usage: 3373kB
14. 565.305 565.305 ↑ 1.0 200,000 3

Seq Scan on part (cost=0.00..6,097.00 rows=200,000 width=15) (actual time=0.390..565.305 rows=200,000 loops=3)