explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Jvec

Settings
# exclusive inclusive rows x rows loops node
1. 28.582 52.292 ↑ 1.6 12,235 1

HashAggregate (cost=5,419.04..5,660.02 rows=19,278 width=43) (actual time=48.057..52.292 rows=12,235 loops=1)

  • Output: station_id, max(nr_received), COALESCE((max(nr_expected))::integer, 0), in_oscar, geom
  • Group Key: wdqmsapi_synopobservationbysixhourperiod.station_id, wdqmsapi_synopobservationbysixhourperiod.in_oscar, wdqmsapi_synopobservationbysixhourperiod.geom
2. 14.922 23.710 ↓ 1.3 24,131 1

Bitmap Heap Scan on public.wdqmsapi_synopobservationbysixhourperiod (cost=560.13..5,178.07 rows=19,278 width=41) (actual time=9.242..23.710 rows=24,131 loops=1)

  • Output: id, var_id, avg_bg_dep, wigosid, nr_expected, nr_received, nr_used, nr_not_used, nr_rejected, nr_never_used, nr_thinned, nr_rejected_da, nr_used_alt, nr_quality_issue, nr_other_issue, nr_no_content, in_oscar, schedule_only, default_schedule, summary, geom, period_id, station_id
  • Recheck Cond: (wdqmsapi_synopobservationbysixhourperiod.var_id = ANY ('{110,1}'::integer[]))
  • Filter: ((wdqmsapi_synopobservationbysixhourperiod.period_id = ANY ('{2,1}'::integer[])) AND ((wdqmsapi_synopobservationbysixhourperiod.nr_received > 0) OR (wdqmsapi_synopobservationbysixhourperiod.nr_expected > 0)))
  • Rows Removed by Filter: 3,152
  • Heap Blocks: exact=826
3. 8.788 8.788 ↓ 1.0 27,283 1

Bitmap Index Scan on wdqmsapi_synopobservationbysixhourperiod_db9d0193 (cost=0.00..555.31 rows=26,997 width=0) (actual time=8.788..8.788 rows=27,283 loops=1)

  • Index Cond: (wdqmsapi_synopobservationbysixhourperiod.var_id = ANY ('{110,1}'::integer[]))
Planning time : 1.958 ms
Execution time : 66.152 ms