explain.depesz.com

PostgreSQL's explain analyze made readable

Result: oDTn : t3

Settings
# exclusive inclusive rows x rows loops node
1. 0.009 500.444 ↑ 1.0 3 1

Finalize GroupAggregate (cost=104,596.49..104,596.61 rows=3 width=10) (actual time=500.440..500.444 rows=3 loops=1)

  • Output: COUNT(*), area_type_code
  • Group Key: labor.area_type_code
2. 0.053 500.435 ↓ 1.2 15 1

Sort (cost=104,596.49..104,596.52 rows=12 width=10) (actual time=500.433..500.435 rows=15 loops=1)

  • Output: area_type_code, (PARTIAL COUNT(*))
  • Sort Key: labor.area_type_code
  • Sort Method: quicksort Memory: 25kB
3. 17.300 500.382 ↓ 1.2 15 1

Gather (cost=104,595.05..104,596.28 rows=12 width=10) (actual time=500.159..500.382 rows=15 loops=1)

  • Output: area_type_code, (PARTIAL COUNT(*))
  • Workers Planned: 4
  • Workers Launched: 4
4. 200.249 483.082 ↑ 1.0 3 5

Partial HashAggregate (cost=103,595.05..103,595.08 rows=3 width=10) (actual time=483.081..483.082 rows=3 loops=5)

  • Output: area_type_code, PARTIAL count(*)
  • Group Key: labor.area_type_code
  • Worker 0: actual time=476.705..476.706 rows=3 loops=1
  • Worker 1: actual time=480.704..480.705 rows=3 loops=1
  • Worker 2: actual time=480.598..480.599 rows=3 loops=1
  • Worker 3: actual time=478.000..478.000 rows=3 loops=1
5. 282.833 282.833 ↑ 1.2 1,292,543 5

Parallel Seq Scan on public.labor (cost=0.00..95,516.70 rows=1,615,670 width=2) (actual time=1.550..282.833 rows=1,292,543 loops=5)

  • Output: area_type_code
  • Worker 0: actual time=0.078..282.698 rows=1278313 loops=1
  • Worker 1: actual time=3.497..282.068 rows=1338095 loops=1
  • Worker 2: actual time=3.378..281.273 rows=1232359 loops=1
  • Worker 3: actual time=0.761..278.013 rows=1318569 loops=1