explain.depesz.com

PostgreSQL's explain analyze made readable

Result: DgfT : Optimization for: Optimization for: plan #PTNT5; plan #JeK7o

Settings

Optimization path:

# exclusive inclusive rows x rows loops node
1. 0.193 127.182 ↑ 1.0 1 1

Aggregate (cost=23,714.07..23,714.08 rows=1 width=8) (actual time=127.182..127.182 rows=1 loops=1)

2. 57.574 126.989 ↓ 3.1 6,092 1

HashAggregate (cost=23,611.44..23,689.64 rows=1,955 width=230) (actual time=126.434..126.989 rows=6,092 loops=1)

  • Group Key: rentalscore_property.id, CASE WHEN ((rentalscore_property.name IS NULL) OR ((rentalscore_property.name)::text = ''::text)) THEN rentalscore_property.address1 ELSE rentalscore_property.name END
  • Filter: (sum(CASE WHEN (upper((rentalscore_picture.processed_by)::text) ~~ '%RENTALSCORE.SCALES%'::text) THEN 1 ELSE 0 END) >= 1)
  • Rows Removed by Filter: 209
3. 28.436 69.415 ↓ 1.1 70,158 1

Hash Right Join (cost=3,201.96..22,501.48 rows=63,426 width=262) (actual time=6.238..69.415 rows=70,158 loops=1)

  • Hash Cond: (rentalscore_picture.property_id = rentalscore_property.id)
4. 34.766 34.766 ↑ 1.0 248,858 1

Seq Scan on rentalscore_picture (cost=0.00..18,487.58 rows=248,858 width=44) (actual time=0.016..34.766 rows=248,858 loops=1)

5. 0.725 6.213 ↓ 1.1 6,301 1

Hash (cost=3,128.65..3,128.65 rows=5,865 width=36) (actual time=6.213..6.213 rows=6,301 loops=1)

  • Buckets: 8192 Batches: 1 Memory Usage: 470kB
6. 5.488 5.488 ↓ 1.1 6,301 1

Seq Scan on rentalscore_property (cost=0.00..3,128.65 rows=5,865 width=36) (actual time=0.006..5.488 rows=6,301 loops=1)

  • Filter: (active AND (review_state <= 20))
  • Rows Removed by Filter: 16711