explain.depesz.com

PostgreSQL's explain analyze made readable

Result: WjnY

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 130.198 ↑ 1.0 16 1

Finalize GroupAggregate (cost=9,694.59..9,698.65 rows=16 width=15) (actual time=130.168..130.198 rows=16 loops=1)

  • Group Key: cat.categoryname
2. 0.000 160.696 ↓ 1.5 48 1

Gather Merge (cost=9,694.59..9,698.33 rows=32 width=15) (actual time=130.142..160.696 rows=48 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
3. 0.333 312.885 ↑ 1.0 16 3

Sort (cost=8,694.57..8,694.61 rows=16 width=15) (actual time=104.294..104.295 rows=16 loops=3)

  • Sort Key: cat.categoryname
  • Sort Method: quicksort Memory: 25kB
  • Worker 0: Sort Method: quicksort Memory: 25kB
  • Worker 1: Sort Method: quicksort Memory: 25kB
4. 112.872 312.552 ↑ 1.0 16 3

Partial HashAggregate (cost=8,694.09..8,694.25 rows=16 width=15) (actual time=104.182..104.184 rows=16 loops=3)

  • Group Key: cat.categoryname
5. 115.713 199.680 ↑ 1.2 166,667 3

Hash Join (cost=1.36..7,652.43 rows=208,333 width=11) (actual time=0.240..66.560 rows=166,667 loops=3)

  • Hash Cond: (prod.category = cat.category)
6. 83.667 83.667 ↑ 1.2 166,667 3

Parallel Seq Scan on products prod (cost=0.00..6,959.33 rows=208,333 width=6) (actual time=0.091..27.889 rows=166,667 loops=3)

7. 0.054 0.300 ↑ 1.0 16 3

Hash (cost=1.16..1.16 rows=16 width=11) (actual time=0.100..0.100 rows=16 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
8. 0.246 0.246 ↑ 1.0 16 3

Seq Scan on categories cat (cost=0.00..1.16 rows=16 width=11) (actual time=0.079..0.082 rows=16 loops=3)