explain.depesz.com

PostgreSQL's explain analyze made readable

Result: bVe

Settings
# exclusive inclusive rows x rows loops node
1. 20,864.769 41,849.876 ↑ 1.0 1 1

Aggregate (cost=21,805.28..21,805.29 rows=1 width=32) (actual time=41,849.875..41,849.876 rows=1 loops=1)

2. 2,625.485 20,985.107 ↓ 731.1 3,819,120 1

Subquery Scan on q (cost=1,214.40..21,792.22 rows=5,224 width=124) (actual time=5.630..20,985.107 rows=3,819,120 loops=1)

3. 1,454.501 18,359.622 ↓ 731.1 3,819,120 1

Nested Loop Left Join (cost=1,214.40..21,739.98 rows=5,224 width=108) (actual time=5.618..18,359.622 rows=3,819,120 loops=1)

4.          

CTE boundaries

5. 0.000 0.000 ↓ 0.0 0

Seq Scan on v_transit_boundaries (cost=0.00..910.46 rows=3,346 width=75,373) (never executed)

6. 32.877 37.888 ↓ 417.0 417 1

GroupAggregate (cost=174.88..174.98 rows=1 width=246) (actual time=4.003..37.888 rows=417 loops=1)

  • Group Key: v_transit_roads.link_id, v_transit_roads.street_name, v_transit_roads.road_speed, v_transit_roads.road_rank, v_transit_roads.truck, v_transit_roads.surface, v_transit_roads.road_km, v_transit_roads.geometry
7. 1.402 5.011 ↓ 417.0 417 1

Sort (cost=174.88..174.89 rows=1 width=206) (actual time=3.953..5.011 rows=417 loops=1)

  • Sort Key: v_transit_roads.link_id, v_transit_roads.street_name, v_transit_roads.road_speed, v_transit_roads.road_rank, v_transit_roads.truck, v_transit_roads.surface, v_transit_roads.road_km, v_transit_roads.geometry
  • Sort Method: quicksort Memory: 145kB
8. 0.262 3.609 ↓ 417.0 417 1

Nested Loop Left Join (cost=4.73..174.87 rows=1 width=206) (actual time=0.249..3.609 rows=417 loops=1)

  • Join Filter: NULL::boolean
9. 3.212 3.347 ↓ 417.0 417 1

Bitmap Heap Scan on v_transit_roads (cost=4.73..174.86 rows=1 width=206) (actual time=0.245..3.347 rows=417 loops=1)

  • Recheck Cond: ((street_name)::text = ANY ('{"Gore Hwy"}'::text[]))
  • Filter: ((geometry && '0103000020110F00000100000005000000EC511814C3F26F41CDCCCC56F6E247C1EC511814C3F26F410AD723DBB51449C13D0A977A991F70410AD723DBB51449C13D0A977A991F7041CDCCCC56F6E247C1EC511814C3F26F41CDCCCC56F6E247C1'::geometry) AND _st_intersects(geometry, '0103000020110F00000100000005000000EC511814C3F26F41CDCCCC56F6E247C1EC511814C3F26F410AD723DBB51449C13D0A977A991F70410AD723DBB51449C13D0A977A991F7041CDCCCC56F6E247C1EC511814C3F26F41CDCCCC56F6E247C1'::geometry))
  • Rows Removed by Filter: 32
  • Heap Blocks: exact=119
10. 0.135 0.135 ↓ 11.0 449 1

Bitmap Index Scan on idx_v_transit_roads_street_name (cost=0.00..4.73 rows=41 width=0) (actual time=0.135..0.135 rows=449 loops=1)

  • Index Cond: ((street_name)::text = ANY ('{"Gore Hwy"}'::text[]))
11. 0.000 0.000 ↓ 0.0 0 417

Result (cost=0.00..0.00 rows=0 width=0) (actual time=0.000..0.000 rows=0 loops=417)

  • One-Time Filter: false
12. 16,097.034 16,867.233 ↓ 1.8 9,159 417

Bitmap Heap Scan on road_segments s (cost=129.06..20,589.23 rows=5,224 width=32) (actual time=3.508..40.449 rows=9,159 loops=417)

  • Recheck Cond: (((v_transit_roads.link_id)::integer) = link_id)
  • Heap Blocks: exact=3819039
13. 770.199 770.199 ↓ 1.8 9,159 417

Bitmap Index Scan on idx_road_segments_link_id (cost=0.00..127.76 rows=5,224 width=0) (actual time=1.847..1.847 rows=9,159 loops=417)

  • Index Cond: (((v_transit_roads.link_id)::integer) = link_id)
Planning time : 4.555 ms