explain.depesz.com

PostgreSQL's explain analyze made readable

Result: pFv6 : 123

Settings
# exclusive inclusive rows x rows loops node
1. 0.054 8.809 ↑ 1.0 20 1

Unique (cost=78.72..78.87 rows=20 width=16) (actual time=8.733..8.809 rows=20 loops=1)

2. 0.098 8.755 ↓ 8.7 174 1

Sort (cost=78.72..78.77 rows=20 width=16) (actual time=8.731..8.755 rows=174 loops=1)

  • Sort Key: rtt.mobject_id, rtt.route_id
  • Sort Method: quicksort Memory: 33kB
3. 2.942 8.657 ↓ 8.7 174 1

Nested Loop (cost=53.54..78.29 rows=20 width=16) (actual time=3.323..8.657 rows=174 loops=1)

4. 0.922 2.328 ↓ 376.3 1,129 1

HashAggregate (cost=53.23..53.26 rows=3 width=8) (actual time=1.965..2.328 rows=1,129 loops=1)

  • Group Key: m.id
5. 0.251 1.406 ↓ 376.3 1,129 1

Nested Loop (cost=45.18..53.22 rows=3 width=8) (actual time=0.257..1.406 rows=1,129 loops=1)

6. 0.012 0.231 ↓ 11.0 11 1

HashAggregate (cost=44.91..44.91 rows=1 width=16) (actual time=0.228..0.231 rows=11 loops=1)

  • Group Key: c.id
7. 0.015 0.219 ↓ 11.0 11 1

Nested Loop Semi Join (cost=1.41..44.90 rows=1 width=16) (actual time=0.077..0.219 rows=11 loops=1)

  • Join Filter: (c.id = uzgps_user_access_list.ual_contractid)
  • Rows Removed by Join Filter: 55
8. 0.127 0.127 ↓ 11.0 11 1

Seq Scan on uzgps_contract c (cost=0.00..43.16 rows=1 width=8) (actual time=0.018..0.127 rows=11 loops=1)

  • Filter: ((status_id = ANY ('{1,2}'::bigint[])) AND ((c_status)::text = 'A'::text))
9. 0.053 0.077 ↑ 1.7 6 11

HashAggregate (cost=1.41..1.51 rows=10 width=8) (actual time=0.005..0.007 rows=6 loops=11)

  • Group Key: uzgps_user_access_list.ual_contractid
10. 0.024 0.024 ↓ 3.2 32 1

Seq Scan on uzgps_user_access_list (cost=0.00..1.39 rows=10 width=8) (actual time=0.011..0.024 rows=32 loops=1)

  • Filter: (ual_routing > 0)
11. 0.924 0.924 ↓ 103.0 103 11

Index Scan using uzgps_mobject_mo_contract_id_mo_status_idx on uzgps_mobject m (cost=0.28..8.30 rows=1 width=16) (actual time=0.015..0.084 rows=103 loops=11)

  • Index Cond: ((mo_contract_id = c.id) AND ((mo_status)::text = 'A'::text))
12. 3.387 3.387 ↓ 0.0 0 1,129

Index Scan using uzgps_routing_trip_template_mobject_id_time_start_idx on uzgps_routing_trip_template rtt (cost=0.31..8.33 rows=1 width=16) (actual time=0.002..0.003 rows=0 loops=1,129)

  • Index Cond: ((mobject_id = m.id) AND (time_start >= ((date_part('epoch'::text, date_trunc('day'::text, now())) * '1000'::double precision))::bigint) AND (time_start <= ((date_part('epoch'::text, date_trunc('day'::text, (now() + '1 day': (...)