explain.depesz.com

PostgreSQL's explain analyze made readable

Result: BIgZ

Settings

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Merge Join (cost=970,693.93..106,822,107.92 rows=67 width=128) (actual rows= loops=)

  • Merge Cond: (md.date = fd.forecast_date)
  • Join Filter: ((ai.area && _st_expand((fd.point)::geography, '1000'::double precision)) AND ((fd.point)::geography && _st_expand(ai.area, '1000'::double precision)) AND _st_dwithin(ai.area, (fd.point)::geography, '1000'::double precision, true))
2. 0.000 0.000 ↓ 0.0

Sort (cost=922,217.17..925,029.71 rows=1,125,017 width=72) (actual rows= loops=)

  • Sort Key: md.date
3. 0.000 0.000 ↓ 0.0

Hash Join (cost=235,790.32..716,856.43 rows=1,125,017 width=72) (actual rows= loops=)

  • Hash Cond: (ai.device_id = md.device_id)
  • Join Filter: ((date(md.date) >= ai.start_date) AND (date(md.date) <= COALESCE(ai.end_date, date(now()))))
4. 0.000 0.000 ↓ 0.0

Seq Scan on area_of_implantation ai (cost=0.00..2,062.18 rows=55,018 width=64) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Hash (cost=169,169.76..169,169.76 rows=3,628,685 width=24) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Seq Scan on measure_daily md (cost=0.00..169,169.76 rows=3,628,685 width=24) (actual rows= loops=)

  • Filter: (rainfall IS NOT NULL)
7. 0.000 0.000 ↓ 0.0

Materialize (cost=47,606.24..48,795.35 rows=237,822 width=56) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Sort (cost=47,606.24..48,200.79 rows=237,822 width=56) (actual rows= loops=)

  • Sort Key: fd.forecast_date
9. 0.000 0.000 ↓ 0.0

Seq Scan on forecast_daily fd (cost=0.00..18,238.80 rows=237,822 width=56) (actual rows= loops=)

  • Filter: (nb_hours > 22)