explain.depesz.com

PostgreSQL's explain analyze made readable

Result: QQm8

Settings
# exclusive inclusive rows x rows loops node
1. 5.575 6,882.205 ↑ 1.0 1 1

Aggregate (cost=1,192,764.36..1,192,764.37 rows=1 width=32) (actual time=6,882.205..6,882.205 rows=1 loops=1)

2. 1.009 6,876.630 ↓ 1,333.0 1,333 1

Subquery Scan on q (cost=1,192,747.40..1,192,764.36 rows=1 width=68) (actual time=5,037.064..6,876.630 rows=1,333 loops=1)

3. 1,699.854 6,875.621 ↓ 1,333.0 1,333 1

GroupAggregate (cost=1,192,747.40..1,192,764.35 rows=1 width=234) (actual time=5,037.055..6,875.621 rows=1,333 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
4.          

CTE boundaries

5. 0.000 0.000 ↓ 0.0 0

Seq Scan on v_transit_boundaries (cost=0.00..910.38 rows=3,338 width=66,619) (never executed)

6. 1,025.806 5,175.767 ↓ 2,204.1 744,980 1

Sort (cost=1,191,837.02..1,191,837.87 rows=338 width=201) (actual time=5,036.861..5,175.767 rows=744,980 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: external merge Disk: 136712kB
7. 201.072 4,149.961 ↓ 2,204.1 744,980 1

Nested Loop Left Join (cost=1,186,946.28..1,191,822.83 rows=338 width=201) (actual time=737.462..4,149.961 rows=744,980 loops=1)

  • Join Filter: NULL::boolean
8. 0.000 3,948.889 ↓ 2,204.1 744,980 1

Nested Loop Left Join (cost=1,186,946.28..1,191,819.45 rows=338 width=201) (actual time=737.460..3,948.889 rows=744,980 loops=1)

9. 41.189 2,482.483 ↓ 2,204.1 744,980 1

Nested Loop Left Join (cost=1,186,945.86..1,189,608.97 rows=338 width=205) (actual time=737.450..2,482.483 rows=744,980 loops=1)

10. 96.710 951.334 ↓ 2,204.1 744,980 1

Nested Loop (cost=1,186,945.43..1,187,399.02 rows=338 width=194) (actual time=737.438..951.334 rows=744,980 loops=1)

11. 17.594 746.651 ↓ 1,333.0 1,333 1

Bitmap Heap Scan on v_transit_roads (cost=1,186,944.86..1,186,978.58 rows=1 width=186) (actual time=737.421..746.651 rows=1,333 loops=1)

  • Recheck Cond: ((geometry && '0103000020110F000001000000050000003D0A977A991F7041AE47A194164A47C13D0A977A991F7041CDCCCC56F6E247C1E17ADC72B5327041CDCCCC56F6E247C1E17ADC72B5327041AE47A194164A47C13D0A977A991F7041AE47A194164A47C1'::geometry) AND (geometry && '0103000020110F000001000000050000003D0A977A991F7041AE47A194164A47C13D0A977A991F7041CDCCCC56F6E247C1E17ADC72B5327041CDCCCC56F6E247C1E17ADC72B5327041AE47A194164A47C13D0A977A991F7041AE47A194164A47C1'::geometry))
  • Filter: ((hashed SubPlan 2) AND _st_intersects(geometry, '0103000020110F000001000000050000003D0A977A991F7041AE47A194164A47C13D0A977A991F7041CDCCCC56F6E247C1E17ADC72B5327041CDCCCC56F6E247C1E17ADC72B5327041AE47A194164A47C13D0A977A991F7041AE47A194164A47C1'::geometry))
  • Rows Removed by Filter: 1272
  • Heap Blocks: exact=579
12. 0.761 0.761 ↓ 325.6 2,605 1

Bitmap Index Scan on v_transit_roads_geometry_geom_idx (cost=0.00..4.37 rows=8 width=0) (actual time=0.761..0.761 rows=2,605 loops=1)

  • Index Cond: ((geometry && '0103000020110F000001000000050000003D0A977A991F7041AE47A194164A47C13D0A977A991F7041CDCCCC56F6E247C1E17ADC72B5327041CDCCCC56F6E247C1E17ADC72B5327041AE47A194164A47C13D0A977A991F7041AE47A194164A47C1'::geometry) AND (geometry && '0103000020110F000001000000050000003D0A977A991F7041AE47A194164A47C13D0A977A991F7041CDCCCC56F6E247C1E17ADC72B5327041CDCCCC56F6E247C1E17ADC72B5327041AE47A194164A47C13D0A977A991F7041AE47A194164A47C1'::geometry))
13.          

SubPlan (forBitmap Heap Scan)

14. 307.775 728.296 ↓ 1.3 35,084 1

HashAggregate (cost=1,186,605.47..1,186,873.49 rows=26,802 width=8) (actual time=722.942..728.296 rows=35,084 loops=1)

  • Group Key: tblsegments_1.link_id
15. 151.318 420.521 ↑ 14.8 1,763,521 1

Nested Loop (cost=1.14..1,121,421.41 rows=26,073,626 width=8) (actual time=0.053..420.521 rows=1,763,521 loops=1)

16. 0.247 0.247 ↑ 10.0 964 1

Index Only Scan using idx_tblsegments_key on tblsegments tblsegments_2 (cost=0.57..321.53 rows=9,655 width=8) (actual time=0.025..0.247 rows=964 loops=1)

  • Index Cond: (link_id = 945895182)
  • Heap Fetches: 0
17. 268.956 268.956 ↑ 1.5 1,829 964

Index Only Scan using idx_tblsegments_keyrev on tblsegments tblsegments_1 (cost=0.57..89.30 rows=2,682 width=16) (actual time=0.014..0.279 rows=1,829 loops=964)

  • Index Cond: (trip_id = tblsegments_2.trip_id)
  • Heap Fetches: 0
18. 107.973 107.973 ↑ 17.4 559 1,333

Index Only Scan using idx_tblsegments_key on tblsegments (cost=0.57..323.04 rows=9,741 width=16) (actual time=0.006..0.081 rows=559 loops=1,333)

  • Index Cond: (link_id = v_transit_roads.link_id)
  • Heap Fetches: 0
19. 1,489.960 1,489.960 ↑ 1.0 1 744,980

Index Scan using tblmovements_pkey on tblmovements (cost=0.42..6.54 rows=1 width=19) (actual time=0.002..0.002 rows=1 loops=744,980)

  • Index Cond: (tblsegments.trip_id = trip_id)
20. 1,489.960 1,489.960 ↑ 1.0 1 744,980

Index Scan using v_transit_movement_extras_trip_id on v_transit_movement_extras (cost=0.42..6.54 rows=1 width=12) (actual time=0.002..0.002 rows=1 loops=744,980)

  • Index Cond: (tblsegments.trip_id = trip_id)
21. 0.000 0.000 ↓ 0.0 0 744,980

Result (cost=0.00..0.00 rows=0 width=0) (actual time=0.000..0.000 rows=0 loops=744,980)

  • One-Time Filter: false