explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 3fn1

Settings
# exclusive inclusive rows x rows loops node
1. 0.270 168,906.694 ↑ 25.1 50 1

Sort (cost=6,286.29..6,289.42 rows=1,253 width=38) (actual time=168,906.686..168,906.694 rows=50 loops=1)

  • Sort Key: v.disco
  • Sort Method: quicksort Memory: 28kB
2. 1.019 168,906.424 ↑ 25.1 50 1

Nested Loop (cost=85.88..6,221.81 rows=1,253 width=38) (actual time=3,414.115..168,906.424 rows=50 loops=1)

3. 0.623 18.891 ↓ 1.4 53 1

Nested Loop (cost=85.31..3,677.97 rows=37 width=36) (actual time=0.479..18.891 rows=53 loops=1)

4. 0.490 1.520 ↓ 1.0 53 1

Hash Semi Join (cost=20.20..83.52 rows=52 width=17) (actual time=0.356..1.520 rows=53 loops=1)

  • Hash Cond: (v.id = gv.id_vehiculo)
5. 0.792 0.792 ↑ 1.0 1,137 1

Seq Scan on vehiculo v (cost=0.00..59.56 rows=1,137 width=21) (actual time=0.059..0.792 rows=1,137 loops=1)

  • Filter: activo
  • Rows Removed by Filter: 19
6. 0.024 0.238 ↑ 1.0 53 1

Hash (cost=19.54..19.54 rows=53 width=4) (actual time=0.238..0.238 rows=53 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
7. 0.012 0.214 ↑ 1.0 53 1

Nested Loop (cost=0.00..19.54 rows=53 width=4) (actual time=0.043..0.214 rows=53 loops=1)

8. 0.033 0.033 ↑ 1.0 1 1

Seq Scan on grupo_rastreo g (cost=0.00..2.71 rows=1 width=4) (actual time=0.019..0.033 rows=1 loops=1)

  • Filter: ((id = 49) AND (id_empresa = 38))
  • Rows Removed by Filter: 46
9. 0.169 0.169 ↑ 1.0 53 1

Seq Scan on grupo_rastreo_vehiculo gv (cost=0.00..16.30 rows=53 width=8) (actual time=0.021..0.169 rows=53 loops=1)

  • Filter: (id_grupo_rastreo = 49)
  • Rows Removed by Filter: 770
10. 0.583 16.748 ↑ 1.0 1 53

Bitmap Heap Scan on last_track (cost=65.11..69.12 rows=1 width=19) (actual time=0.316..0.316 rows=1 loops=53)

  • Recheck Cond: ((trackid)::text = (v.trackid)::text)
  • Heap Blocks: exact=53
11. 16.165 16.165 ↑ 1.0 1 53

Bitmap Index Scan on last_track_pkey (cost=0.00..65.11 rows=1 width=0) (actual time=0.305..0.305 rows=1 loops=53)

  • Index Cond: ((trackid)::text = (v.trackid)::text)
12. 1.325 168,886.514 ↑ 10.0 1 53

Append (cost=0.57..68.48 rows=10 width=69) (actual time=3,185.958..3,186.538 rows=1 loops=53)

13. 1.113 1.113 ↓ 0.0 0 53

Index Scan using idx_track_2018_09_trackid_fecha_hora on track_2018_09 (cost=0.57..8.59 rows=1 width=69) (actual time=0.021..0.021 rows=0 loops=53)

  • Index Cond: (fecha > (now() - '1 mon'::interval))
  • Filter: ((last_track.id_track = id) AND ((last_track.trackid)::text = (trackid)::text))
14. 0.848 0.848 ↓ 0.0 0 53

Index Scan using idx_track_2018_07_trackid_fecha_hora on track_2018_07 (cost=0.57..8.59 rows=1 width=69) (actual time=0.016..0.016 rows=0 loops=53)

  • Index Cond: (fecha > (now() - '1 mon'::interval))
  • Filter: ((last_track.id_track = id) AND ((last_track.trackid)::text = (trackid)::text))
15. 0.689 0.689 ↓ 0.0 0 53

Index Scan using idx_track_2018_08_trackid_fecha_hora on track_2018_08 (cost=0.57..6.35 rows=1 width=69) (actual time=0.013..0.013 rows=0 loops=53)

  • Index Cond: (fecha > (now() - '1 mon'::interval))
  • Filter: ((last_track.id_track = id) AND ((last_track.trackid)::text = (trackid)::text))
16. 0.636 0.636 ↓ 0.0 0 53

Index Scan using track_2018_10_pkey on track_2018_10 (cost=0.44..8.45 rows=1 width=69) (actual time=0.012..0.012 rows=0 loops=53)

  • Index Cond: (id = last_track.id_track)
  • Filter: (((last_track.trackid)::text = (trackid)::text) AND (fecha > (now() - '1 mon'::interval)))
17. 0.742 0.742 ↓ 0.0 0 53

Index Scan using idx_track_2018_06_trackid_fecha_hora on track_2018_06 (cost=0.57..8.59 rows=1 width=69) (actual time=0.014..0.014 rows=0 loops=53)

  • Index Cond: (fecha > (now() - '1 mon'::interval))
  • Filter: ((last_track.id_track = id) AND ((last_track.trackid)::text = (trackid)::text))
18. 0.689 0.689 ↓ 0.0 0 53

Index Scan using idx_track_2018_05_trackid_fecha_hora on track_2018_05 (cost=0.57..6.34 rows=1 width=69) (actual time=0.013..0.013 rows=0 loops=53)

  • Index Cond: (fecha > (now() - '1 mon'::interval))
  • Filter: ((last_track.id_track = id) AND ((last_track.trackid)::text = (trackid)::text))
19. 0.159 0.159 ↓ 0.0 0 53

Index Scan using track_2018_04_pkey on track_2018_04 (cost=0.15..3.38 rows=1 width=132) (actual time=0.003..0.003 rows=0 loops=53)

  • Index Cond: (id = last_track.id_track)
  • Filter: (((last_track.trackid)::text = (trackid)::text) AND (fecha > (now() - '1 mon'::interval)))
20. 168,621.037 168,621.037 ↓ 0.0 0 53

Index Scan using idx_track_2018_11_trackid_fecha_hora on track_2018_11 (cost=0.57..6.34 rows=1 width=69) (actual time=3,180.958..3,181.529 rows=0 loops=53)

  • Index Cond: (fecha > (now() - '1 mon'::interval))
  • Filter: ((last_track.id_track = id) AND ((last_track.trackid)::text = (trackid)::text))
  • Rows Removed by Filter: 2471047
21. 259.064 259.064 ↑ 1.0 1 53

Index Scan using track_2018_12_pkey on track_2018_12 (cost=0.44..8.45 rows=1 width=69) (actual time=4.887..4.888 rows=1 loops=53)

  • Index Cond: (id = last_track.id_track)
  • Filter: (((last_track.trackid)::text = (trackid)::text) AND (fecha > (now() - '1 mon'::interval)))
22. 0.212 0.212 ↓ 0.0 0 53

Index Scan using track_2019_01_pkey on track_2019_01 (cost=0.15..3.38 rows=1 width=132) (actual time=0.004..0.004 rows=0 loops=53)

  • Index Cond: (id = last_track.id_track)
  • Filter: (((last_track.trackid)::text = (trackid)::text) AND (fecha > (now() - '1 mon'::interval)))