explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 2XqE : Optimization for: Optimization for: plan #fh1o; plan #Ppm6

Settings

Optimization path:

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 1.062 53.293 ↓ 1,497.0 1,497 1

Hash Join (cost=2,978.95..6,975.94 rows=1 width=89) (actual time=42.517..53.293 rows=1,497 loops=1)

  • Hash Cond: (((b.key)::text = (block_history.key)::text) AND (b.ver = (max(block_history.ver))))
2. 10.106 10.106 ↓ 9.1 2,126 1

Seq Scan on block_history b (cost=0.00..1,464.51 rows=234 width=93) (actual time=0.183..10.106 rows=2,126 loops=1)

  • Filter: ((value ->> 'blocked'::text) = 'false'::text)
  • Rows Removed by Filter: 42128
3. 10.549 42.125 ↑ 1.0 41,764 1

Hash (cost=2,329.91..2,329.91 rows=43,270 width=17) (actual time=42.125..42.125 rows=41,764 loops=1)

  • Buckets: 65536 Batches: 1 Memory Usage: 2627kB
4. 27.498 31.576 ↑ 1.0 41,764 1

HashAggregate (cost=1,464.51..1,897.21 rows=43,270 width=17) (actual time=20.385..31.576 rows=41,764 loops=1)

  • Group Key: block_history.key
5. 4.078 4.078 ↑ 1.1 44,254 1

Seq Scan on block_history (cost=0.00..1,230.67 rows=46,767 width=17) (actual time=0.008..4.078 rows=44,254 loops=1)