explain.depesz.com

PostgreSQL's explain analyze made readable

Result: wFaH

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

Aggregate (cost=47.29..47.55 rows=1 width=32) (actual rows= loops=)

2.          

CTE clipped

3. 0.000 0.000 ↓ 0.0

Append (cost=0.00..46.10 rows=6 width=60) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 1 (cost=0.00..0.02 rows=1 width=100) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Result (cost=0.00..0.01 rows=1 width=0) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 2 (cost=8.44..8.47 rows=1 width=50) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

HashAggregate (cost=8.44..8.46 rows=1 width=565) (actual rows= loops=)

  • Group Key: current_fibre_octotel.rank, current_fibre_octotel.status, current_fibre_octotel.provider
8. 0.000 0.000 ↓ 0.0

Index Scan using geometries_current_fibre_octotel_geom on current_fibre_octotel (cost=0.14..8.43 rows=1 width=565) (actual rows= loops=)

  • Index Cond: (wkb_geometry && '0103000020E6100000010000000500000000000000E0303C401300A119B5C739C00000000080363C401300A119B5C739C00000000080363C40B4FFC050A4C239C000000000E0303C40B4FFC050A4C239C000000000E0303C401300A119B5C739C0'::geometry)
  • Filter: ((rank <> '-1'::integer) AND (update_id = 2) AND ((status = 'unavailable'::text) OR (status = 'planned'::text) OR (status = 'potential'::text) OR (status = 'live'::text) OR (status = 'inprogress'::text) OR (status = 'suspended'::text) OR (status = 'block'::text)) AND _st_intersects(wkb_geometry, '0103000020E6100000010000000500000000000000E0303C401300A119B5C739C00000000080363C401300A119B5C739C00000000080363C40B4FFC050A4C239C000000000E0303C40B4FFC050A4C239C000000000E0303C401300A119B5C739C0'::geometry))
9. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 3 (cost=8.43..8.45 rows=1 width=49) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

HashAggregate (cost=8.43..8.44 rows=1 width=827) (actual rows= loops=)

  • Group Key: current_fibre_vumatel.rank, current_fibre_vumatel.status, current_fibre_vumatel.provider
11. 0.000 0.000 ↓ 0.0

Index Scan using geometries_current_fibre_vumatel_geom on current_fibre_vumatel (cost=0.14..8.42 rows=1 width=827) (actual rows= loops=)

  • Index Cond: (wkb_geometry && '0103000020E6100000010000000500000000000000E0303C401300A119B5C739C00000000080363C401300A119B5C739C00000000080363C40B4FFC050A4C239C000000000E0303C40B4FFC050A4C239C000000000E0303C401300A119B5C739C0'::geometry)
  • Filter: ((rank <> '-1'::integer) AND (update_id = 3) AND ((status = 'live'::text) OR (status = 'inprogress'::text)) AND _st_intersects(wkb_geometry, '0103000020E6100000010000000500000000000000E0303C401300A119B5C739C00000000080363C401300A119B5C739C00000000080363C40B4FFC050A4C239C000000000E0303C40B4FFC050A4C239C000000000E0303C401300A119B5C739C0'::geometry))
12. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 4 (cost=8.43..8.46 rows=1 width=56) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

HashAggregate (cost=8.43..8.45 rows=1 width=802) (actual rows= loops=)

  • Group Key: current_fibre_vumatelaerial.rank, current_fibre_vumatelaerial.status, current_fibre_vumatelaerial.provider
14. 0.000 0.000 ↓ 0.0

Index Scan using geometries_current_fibre_vumatelaerial_geom on current_fibre_vumatelaerial (cost=0.14..8.42 rows=1 width=802) (actual rows= loops=)

  • Index Cond: (wkb_geometry && '0103000020E6100000010000000500000000000000E0303C401300A119B5C739C00000000080363C401300A119B5C739C00000000080363C40B4FFC050A4C239C000000000E0303C40B4FFC050A4C239C000000000E0303C401300A119B5C739C0'::geometry)
  • Filter: ((rank <> '-1'::integer) AND (update_id = 2) AND ((status = 'live'::text) OR (status = 'inprogress'::text)) AND _st_intersects(wkb_geometry, '0103000020E6100000010000000500000000000000E0303C401300A119B5C739C00000000080363C401300A119B5C739C00000000080363C40B4FFC050A4C239C000000000E0303C40B4FFC050A4C239C000000000E0303C401300A119B5C739C0'::geometry))
15. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 5 (cost=8.44..8.46 rows=1 width=51) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

HashAggregate (cost=8.44..8.45 rows=1 width=1,354) (actual rows= loops=)

  • Group Key: current_fibre_openserve.rank, current_fibre_openserve.status, current_fibre_openserve.provider
17. 0.000 0.000 ↓ 0.0

Index Scan using geometries_current_fibre_openserve_geom on current_fibre_openserve (cost=0.14..8.42 rows=1 width=1,354) (actual rows= loops=)

  • Index Cond: (wkb_geometry && '0103000020E6100000010000000500000000000000E0303C401300A119B5C739C00000000080363C401300A119B5C739C00000000080363C40B4FFC050A4C239C000000000E0303C40B4FFC050A4C239C000000000E0303C401300A119B5C739C0'::geometry)
  • Filter: ((rank <> '-1'::integer) AND (update_id = 3) AND ((status = 'live'::text) OR (status = 'inprogress'::text)) AND _st_intersects(wkb_geometry, '0103000020E6100000010000000500000000000000E0303C401300A119B5C739C00000000080363C401300A119B5C739C00000000080363C40B4FFC050A4C239C000000000E0303C40B4FFC050A4C239C000000000E0303C401300A119B5C739C0'::geometry))
18. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 6 (cost=12.22..12.25 rows=1 width=53) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

HashAggregate (cost=12.22..12.24 rows=1 width=347) (actual rows= loops=)

  • Group Key: current_fibre_frogfoot.rank, current_fibre_frogfoot.status, current_fibre_frogfoot.provider
20. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on current_fibre_frogfoot (cost=4.16..12.21 rows=1 width=347) (actual rows= loops=)

  • Recheck Cond: (wkb_geometry && '0103000020E6100000010000000500000000000000E0303C401300A119B5C739C00000000080363C401300A119B5C739C00000000080363C40B4FFC050A4C239C000000000E0303C40B4FFC050A4C239C000000000E0303C401300A119B5C739C0'::geometry)
  • Filter: ((rank <> '-1'::integer) AND (update_id = 3) AND ((status = 'live'::text) OR (status = 'inprogress'::text)) AND _st_intersects(wkb_geometry, '0103000020E6100000010000000500000000000000E0303C401300A119B5C739C00000000080363C401300A119B5C739C00000000080363C40B4FFC050A4C239C000000000E0303C40B4FFC050A4C239C000000000E0303C401300A119B5C739C0'::geometry))
21. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on geometries_current_fibre_frogfoot_geom (cost=0.00..4.16 rows=2 width=0) (actual rows= loops=)

  • Index Cond: (wkb_geometry && '0103000020E6100000010000000500000000000000E0303C401300A119B5C739C00000000080363C401300A119B5C739C00000000080363C40B4FFC050A4C239C000000000E0303C40B4FFC050A4C239C000000000E0303C401300A119B5C739C0'::geometry)
22.          

CTE rasters

23. 0.000 0.000 ↓ 0.0

Sort (cost=1.04..1.05 rows=6 width=100) (actual rows= loops=)

  • Sort Key: clipped.rank DESC, (array_position('{block,suspended,unavailable,promotional,live,inprogress,planned,potential}'::text[], clipped.status)) DESC, clipped.provider
24. 0.000 0.000 ↓ 0.0

CTE Scan on clipped (cost=0.00..0.96 rows=6 width=100) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

CTE Scan on rasters (cost=0.00..0.12 rows=6 width=32) (actual rows= loops=)