explain.depesz.com

PostgreSQL's explain analyze made readable

Result: cJwA

Settings
# exclusive inclusive rows x rows loops node
1. 6.084 9,345.742 ↑ 1.0 1 1

Aggregate (cost=1,196,570.93..1,196,570.94 rows=1 width=32) (actual time=9,345.742..9,345.742 rows=1 loops=1)

2. 1.168 9,339.658 ↓ 1,333.0 1,333 1

Subquery Scan on q (cost=1,196,553.97..1,196,570.93 rows=1 width=68) (actual time=6,844.150..9,339.658 rows=1,333 loops=1)

3. 1,717.507 9,338.490 ↓ 1,333.0 1,333 1

GroupAggregate (cost=1,196,553.97..1,196,570.92 rows=1 width=234) (actual time=6,844.140..9,338.490 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. 2,434.577 7,620.983 ↓ 2,204.1 744,980 1

Sort (cost=1,195,643.59..1,195,644.44 rows=338 width=201) (actual time=6,843.899..7,620.983 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: 136720kB
7. 201.626 5,186.406 ↓ 2,204.1 744,980 1

Nested Loop Left Join (cost=1,187,403.67..1,195,629.40 rows=338 width=201) (actual time=1,221.883..5,186.406 rows=744,980 loops=1)

  • Join Filter: NULL::boolean
8. 613.406 4,984.780 ↓ 2,204.1 744,980 1

Nested Loop Left Join (cost=1,187,403.67..1,195,626.02 rows=338 width=201) (actual time=1,221.881..4,984.780 rows=744,980 loops=1)

9. 2,403.217 3,626.394 ↓ 2,204.1 744,980 1

Hash Right Join (cost=1,187,403.25..1,193,416.07 rows=338 width=198) (actual time=1,221.867..3,626.394 rows=744,980 loops=1)

  • Hash Cond: (v_transit_movement_extras.trip_id = tblsegments.trip_id)
10. 22.905 22.905 ↑ 1.0 298,650 1

Seq Scan on v_transit_movement_extras (cost=0.00..4,889.50 rows=298,650 width=12) (actual time=0.006..22.905 rows=298,650 loops=1)

11. 294.804 1,200.272 ↓ 2,204.1 744,980 1

Hash (cost=1,187,399.02..1,187,399.02 rows=338 width=194) (actual time=1,200.272..1,200.272 rows=744,980 loops=1)

  • Buckets: 32768 (originally 1024) Batches: 64 (originally 1) Memory Usage: 3841kB
12. 88.950 905.468 ↓ 2,204.1 744,980 1

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

13. 15.358 713.877 ↓ 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=706.470..713.877 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
14. 0.628 0.628 ↓ 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.628..0.628 rows=2,605 loops=1)

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

SubPlan (forBitmap Heap Scan)

16. 304.251 697.891 ↓ 1.3 35,084 1

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

  • Group Key: tblsegments_1.link_id
17. 152.432 393.640 ↑ 14.8 1,763,521 1

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

18. 0.208 0.208 ↑ 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.017..0.208 rows=964 loops=1)

  • Index Cond: (link_id = 945895182)
  • Heap Fetches: 0
19. 241.000 241.000 ↑ 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.009..0.250 rows=1,829 loops=964)

  • Index Cond: (trip_id = tblsegments_2.trip_id)
  • Heap Fetches: 0
20. 102.641 102.641 ↑ 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.077 rows=559 loops=1,333)

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

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

  • Index Cond: (tblsegments.trip_id = trip_id)
22. 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