explain.depesz.com

PostgreSQL's explain analyze made readable

Result: DtZb

Settings
# exclusive inclusive rows x rows loops node
1. 2.807 350.275 ↓ 291.0 1,164 1

Nested Loop Left Join (cost=0.57..233,154.19 rows=4 width=3,027) (actual time=0.634..350.275 rows=1,164 loops=1)

  • Join Filter: (i_cte.item_id = sche.item_id)
  • Filter: (NOT COALESCE(sche.cancelled, false))
2. 347.468 347.468 ↓ 145.5 1,164 1

Index Scan using idx_item_coords_dates_item_type on item i_cte (cost=0.57..233,112.97 rows=8 width=3,025) (actual time=0.625..347.468 rows=1,164 loops=1)

  • Index Cond: ((location_point_easting >= 408214) AND (location_point_easting <= 465509) AND (location_point_northing >= 260607) AND (location_point_northing <= 293006) AND (start_date >= to_timestamp('09/08/2018 23:39:39'::text, 'DD/MM/YYYY HH24:MI:SS'::text)) AND (end_date >= to_timestamp('09/08/2018 00:00:00'::text, 'DD/MM/YYYY HH24:MI:SS'::text)))
  • Filter: (active AND ((item_type)::text = ANY ('{RC,DR,HDR,O,BC}'::text[])))
  • Rows Removed by Filter: 28266
3. 0.000 0.000 ↓ 0.0 0 1,164

Materialize (cost=0.00..29.12 rows=103 width=11) (actual time=0.000..0.000 rows=0 loops=1,164)

4. 0.002 0.002 ↓ 0.0 0 1

Seq Scan on schedule sche (cost=0.00..28.60 rows=103 width=11) (actual time=0.002..0.002 rows=0 loops=1)

  • Filter: ((actual_start_date < to_timestamp('09/08/2018 23:39:39'::text, 'DD/MM/YYYY HH24:MI:SS'::text)) AND (actual_end_date > to_timestamp('09/08/2018 00:00:00'::text, 'DD/MM/YYYY HH24:MI:SS'::text)))