explain.depesz.com

PostgreSQL's explain analyze made readable

Result: XMV1 : Optimization for: plan #WM1

Settings

Optimization path:

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 0.771 159.506 ↓ 1.1 392 1

Nested Loop Left Join (cost=232.69..67,736.43 rows=368 width=345) (actual time=0.824..159.506 rows=392 loops=1)

2. 0.175 0.367 ↓ 1.1 392 1

Hash Left Join (cost=52.51..1,419.79 rows=368 width=111) (actual time=0.093..0.367 rows=392 loops=1)

  • Hash Cond: (wifiaeroscouttags.wat_mac = wifiaeroscouttagsassignmenthistory.watah_mac)
3. 0.119 0.147 ↓ 1.1 392 1

Bitmap Heap Scan on wifiaeroscouttags (cost=22.20..1,388.08 rows=368 width=7) (actual time=0.039..0.147 rows=392 loops=1)

  • Recheck Cond: (wat_active IS TRUE)
  • Heap Blocks: exact=12
4. 0.028 0.028 ↓ 1.1 392 1

Bitmap Index Scan on wat_active_mac (cost=0.00..22.11 rows=368 width=0) (actual time=0.028..0.028 rows=392 loops=1)

5. 0.003 0.045 ↑ 8.0 1 1

Hash (cost=30.21..30.21 rows=8 width=110) (actual time=0.045..0.045 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
6. 0.002 0.042 ↑ 8.0 1 1

Nested Loop (cost=14.57..30.21 rows=8 width=110) (actual time=0.041..0.042 rows=1 loops=1)

7. 0.012 0.030 ↑ 8.0 1 1

Hash Join (cost=14.42..26.95 rows=8 width=82) (actual time=0.029..0.030 rows=1 loops=1)

  • Hash Cond: (nodeslogical.nl_id = wifiaeroscouttagsassignmenthistory.watah_nl_id)
8. 0.005 0.005 ↑ 40.0 5 1

Seq Scan on nodeslogical (cost=0.00..12.00 rows=200 width=72) (actual time=0.005..0.005 rows=5 loops=1)

9. 0.006 0.013 ↑ 8.0 1 1

Hash (cost=14.32..14.32 rows=8 width=18) (actual time=0.013..0.013 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
10. 0.004 0.007 ↑ 8.0 1 1

Bitmap Heap Scan on wifiaeroscouttagsassignmenthistory (cost=4.19..14.32 rows=8 width=18) (actual time=0.007..0.007 rows=1 loops=1)

  • Recheck Cond: (watah_end IS NULL)
  • Heap Blocks: exact=1
11. 0.003 0.003 ↑ 8.0 1 1

Bitmap Index Scan on watah_unique_active_logical (cost=0.00..4.18 rows=8 width=0) (actual time=0.003..0.003 rows=1 loops=1)

12. 0.010 0.010 ↑ 1.0 1 1

Index Scan using entities_pkey on entities (cost=0.15..0.41 rows=1 width=36) (actual time=0.010..0.010 rows=1 loops=1)

  • Index Cond: (e_id = nodeslogical.nl_e_id)
13. 0.392 158.368 ↑ 1.0 1 392

Limit (cost=180.17..180.18 rows=1 width=185) (actual time=0.404..0.404 rows=1 loops=392)

14. 1.568 157.976 ↑ 1.0 1 392

Sort (cost=180.17..180.18 rows=1 width=185) (actual time=0.403..0.403 rows=1 loops=392)

  • Sort Key: wifiaeroscouttagspositionhistory.watph_from DESC
  • Sort Method: top-N heapsort Memory: 25kB
15. 0.000 156.408 ↓ 15.0 15 392

Nested Loop Left Join (cost=44.25..180.16 rows=1 width=185) (actual time=0.087..0.399 rows=15 loops=392)

16. 0.926 151.312 ↓ 15.0 15 392

Nested Loop Left Join (cost=44.11..179.97 rows=1 width=35) (actual time=0.087..0.386 rows=15 loops=392)

17. 1.537 144.648 ↓ 15.0 15 392

Hash Left Join (cost=43.98..179.80 rows=1 width=32) (actual time=0.086..0.369 rows=15 loops=392)

  • Hash Cond: (wifiaeroscouttagspositionhistory.watph_wap_basemac = wifiaccesspointsassignmenthistory.wapah_basemac)
  • Filter: (wifiaccesspointsassignmenthistory.wapah_end IS NULL)
18. 143.080 143.080 ↓ 1.9 15 392

Seq Scan on wifiaeroscouttagspositionhistory (cost=0.00..133.80 rows=8 width=22) (actual time=0.085..0.365 rows=15 loops=392)

  • Filter: (watph_wat_mac = wifiaeroscouttags.wat_mac)
  • Rows Removed by Filter: 6129
19. 0.019 0.031 ↑ 503.3 3 1

Hash (cost=25.10..25.10 rows=1,510 width=18) (actual time=0.006..0.031 rows=3 loops=1)

  • Buckets: 2048 Batches: 1 Memory Usage: 17kB
20. 0.012 0.012 ↑ 503.3 3 1

Seq Scan on wifiaccesspointsassignmenthistory (cost=0.00..25.10 rows=1,510 width=18) (actual time=0.003..0.012 rows=3 loops=1)

21. 5.738 5.738 ↑ 1.0 1 5,738

Index Scan using wifiaccesspoints_pkey on wifiaccesspoints (cost=0.13..0.16 rows=1 width=15) (actual time=0.001..0.001 rows=1 loops=5,738)

  • Index Cond: (wap_basemac = wifiaccesspointsassignmenthistory.wapah_basemac)
22. 5.738 5.738 ↑ 1.0 1 5,738

Index Scan using nodeslogical_pkey on nodeslogical nodeslogical_1 (cost=0.14..0.19 rows=1 width=158) (actual time=0.001..0.001 rows=1 loops=5,738)

  • Index Cond: (nl_id = wifiaccesspointsassignmenthistory.wapah_nl_id)