explain.depesz.com

PostgreSQL's explain analyze made readable

Result: PNCT

Settings
# exclusive inclusive rows x rows loops node
1. 5,171.489 27,624.334 ↓ 25.2 2,520,060 1

Custom Scan (Citus Adaptive) (cost=0.00..0.00 rows=100,000 width=72) (actual time=27,123.168..27,624.334 rows=2,520,060 loops=1)

  • -> Distributed Subplan 15_1
  • Subplan Duration: 7,540,300.00 ms
  • Intermediate Data Size: 52 MB
  • Result destination: Send to 3 nodes
  • Task Count: 32
  • Tuple data received from nodes: 174 MB
  • Tasks Shown: One of 32
  • -> Task
  • Tuple data received from node: 5,524 kB
  • Node: host=localhost port=9,700 dbname=postgres
2. 2,792.825 2,799.460 ↓ 13.0 1,302,008 1

Custom Scan (Citus Adaptive) (cost=0.00..0.00 rows=100,000 width=36) (actual time=2,629.708..2,799.460 rows=1,302,008 loops=1)

  • Task Count: 32
  • Tuple data received from nodes: 46 MB
  • Tasks Shown: One of 32
  • -> Task
  • Tuple data received from node: 1,481 kB
  • Node: host=localhost port=9,700 dbname=postgres
3. 6.635 6.635 ↑ 1.0 40,798 1

Seq Scan on users_table_102008 users_table (cost=0.00..667.98 rows=40,798 width=36) (actual time=0.008..6.635 rows=40,798 loops=1)

4. 1,701.825 19,653.385 ↓ 25.9 78,040 1

Hash Join (cost=944.81..67,300.60 rows=3,016 width=72) (actual time=16,275.118..19,653.385 rows=78,040 loops=1)

  • Hash Cond: (intermediate_result.value_1 = users_table.user_id)
5. 17,927.363 17,927.363 ↓ 1.5 1,302,008 1

Function Scan on read_intermediate_result intermediate_result (cost=0.00..19,905.41 rows=882,005 width=36) (actual time=16,249.876..17,927.363 rows=1,302,008 loops=1)

6. 15.296 24.197 ↓ 1.3 40,798 1

Hash (cost=564.36..564.36 rows=30,436 width=36) (actual time=24.197..24.197 rows=40,798 loops=1)

  • Buckets: 65,536 (originally 32768) Batches: 1 (originally 1) Memory Usage: 2,584kB
7. 8.901 8.901 ↓ 1.3 40,798 1

Seq Scan on users_table_102008 users_table (cost=0.00..564.36 rows=30,436 width=36) (actual time=0.173..8.901 rows=40,798 loops=1)

Planning time : 7.025 ms
Execution time : 37,873.231 ms