explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 17Fr

Settings
# exclusive inclusive rows x rows loops node
1. 5,213.266 24,312.612 ↓ 25.2 2,520,060 1

Custom Scan (Citus Adaptive) (cost=0.00..0.00 rows=100,000 width=72) (actual time=23,962.117..24,312.612 rows=2,520,060 loops=1)

  • -> Distributed Subplan 17_1
  • Subplan Duration: 8,830,800.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,328.922 2,336.543 ↓ 13.0 1,302,008 1

Custom Scan (Citus Adaptive) (cost=0.00..0.00 rows=100,000 width=36) (actual time=2,176.869..2,336.543 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. 7.621 7.621 ↑ 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.009..7.621 rows=40,798 loops=1)

4. 1,715.037 16,762.803 ↓ 56.7 78,040 1

Hash Join (cost=1,177.95..44,256.99 rows=1,377 width=72) (actual time=13,053.496..16,762.803 rows=78,040 loops=1)

  • Hash Cond: (intermediate_result.value_1 = users_table.user_id)
5. 14,991.018 14,991.018 ↓ 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=12,996.714..14,991.018 rows=1,302,008 loops=1)

6. 49.213 56.748 ↑ 1.0 40,798 1

Hash (cost=667.98..667.98 rows=40,798 width=36) (actual time=56.748..56.748 rows=40,798 loops=1)

  • Buckets: 65,536 Batches: 1 Memory Usage: 2,584kB
7. 7.535 7.535 ↑ 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.014..7.535 rows=40,798 loops=1)

Planning time : 6.908 ms
Execution time : 33,550.302 ms