explain.depesz.com

PostgreSQL's explain analyze made readable

Result: vAmr

Settings
# exclusive inclusive rows x rows loops node
1. 7.464 54,778.139 ↑ 1.0 1 1

Aggregate (cost=6,838.93..6,838.94 rows=1 width=32) (actual time=54,778.139..54,778.139 rows=1 loops=1)

2. 1.524 54,770.675 ↓ 417.0 417 1

Subquery Scan on q (cost=6,632.54..6,838.93 rows=1 width=44) (actual time=24,273.260..54,770.675 rows=417 loops=1)

3. 29,946.057 54,769.151 ↓ 417.0 417 1

GroupAggregate (cost=6,632.54..6,838.92 rows=1 width=112) (actual time=24,273.246..54,769.151 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
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. 5,619.378 24,823.094 ↓ 5,599.9 3,819,120 1

Sort (cost=5,722.08..5,723.79 rows=682 width=209) (actual time=24,261.878..24,823.094 rows=3,819,120 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
  • Sort Method: quicksort Memory: 1212089kB
7. 1,693.072 19,203.716 ↓ 5,599.9 3,819,120 1

Nested Loop Left Join (cost=5.73..5,689.98 rows=682 width=209) (actual time=0.544..19,203.716 rows=3,819,120 loops=1)

  • Join Filter: NULL::boolean
8. 6,715.348 17,510.644 ↓ 5,599.9 3,819,120 1

Nested Loop Left Join (cost=5.73..5,683.16 rows=682 width=209) (actual time=0.542..17,510.644 rows=3,819,120 loops=1)

9. 711.981 3,157.056 ↓ 5,599.9 3,819,120 1

Nested Loop (cost=5.31..463.10 rows=682 width=193) (actual time=0.525..3,157.056 rows=3,819,120 loops=1)

10. 25.954 26.058 ↓ 417.0 417 1

Bitmap Heap Scan on v_transit_roads (cost=4.73..174.86 rows=1 width=185) (actual time=0.211..26.058 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
11. 0.104 0.104 ↓ 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.104..0.104 rows=449 loops=1)

  • Index Cond: ((street_name)::text = ANY ('{"Gore Hwy"}'::text[]))
12. 2,419.017 2,419.017 ↓ 1.8 9,159 417

Index Only Scan using idx_road_segments_key on road_segments (cost=0.57..236.00 rows=5,224 width=16) (actual time=0.025..5.801 rows=9,159 loops=417)

  • Index Cond: (link_id = v_transit_roads.link_id)
  • Heap Fetches: 0
13. 7,638.240 7,638.240 ↑ 1.0 1 3,819,120

Index Scan using trip on road_movements (cost=0.42..7.65 rows=1 width=32) (actual time=0.002..0.002 rows=1 loops=3,819,120)

  • Index Cond: (road_segments.trip_id = trip_id)
14. 0.000 0.000 ↓ 0.0 0 3,819,120

Result (cost=0.00..0.00 rows=0 width=0) (actual time=0.000..0.000 rows=0 loops=3,819,120)

  • One-Time Filter: false
Planning time : 9.551 ms