explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 5xye

Settings
# exclusive inclusive rows x rows loops node
1. 0.019 0.257 ↓ 0.0 0 1

Nested Loop Left Join (cost=51.21..59.21 rows=4 width=1,645) (actual time=0.257..0.257 rows=0 loops=1)

2. 0.021 0.238 ↓ 0.0 0 1

Hash Right Join (cost=50.93..56.87 rows=1 width=1,275) (actual time=0.238..0.238 rows=0 loops=1)

  • Hash Cond: (current_incident.id = me.current_incident)
3. 0.000 0.000 ↓ 0.0 0

Seq Scan on tunnel_incident current_incident (cost=0.00..5.13 rows=213 width=95) (never executed)

4. 0.016 0.217 ↓ 0.0 0 1

Hash (cost=50.92..50.92 rows=1 width=1,180) (actual time=0.217..0.217 rows=0 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 8kB
5. 0.017 0.201 ↓ 0.0 0 1

Subquery Scan on me (cost=22.19..50.92 rows=1 width=1,180) (actual time=0.201..0.201 rows=0 loops=1)

  • Filter: ((me.current_incident IS NOT NULL) AND (me.up_since <= '2019-05-15 10:50:26+02'::timestamp with time zone) AND (me.current_state = 'up'::text))
6. 0.017 0.184 ↓ 0.0 0 1

Limit (cost=22.19..50.80 rows=8 width=1,180) (actual time=0.184..0.184 rows=0 loops=1)

7. 0.045 0.167 ↓ 0.0 0 1

Bitmap Heap Scan on tunnel me_1 (cost=22.19..50.80 rows=8 width=1,180) (actual time=0.167..0.167 rows=0 loops=1)

  • Recheck Cond: ((current_incident IS NOT NULL) AND (up_since <= '2019-05-15 10:50:26+02'::timestamp with time zone))
  • Filter: (current_state = 'up'::text)
  • Rows Removed by Filter: 27
  • Heap Blocks: exact=25
8. 0.028 0.122 ↓ 0.0 0 1

BitmapAnd (cost=22.19..22.19 rows=8 width=0) (actual time=0.122..0.122 rows=0 loops=1)

9. 0.015 0.015 ↑ 1.0 28 1

Bitmap Index Scan on idx_current_incident (cost=0.00..4.49 rows=28 width=0) (actual time=0.015..0.015 rows=28 loops=1)

  • Index Cond: (current_incident IS NOT NULL)
10. 0.079 0.079 ↑ 1.0 687 1

Bitmap Index Scan on idx_core_tunnel_up_since (cost=0.00..17.45 rows=689 width=0) (actual time=0.079..0.079 rows=687 loops=1)

  • Index Cond: (up_since <= '2019-05-15 10:50:26+02'::timestamp with time zone)
11. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_tunnel_incident on tunnel_downtime core__tunnel_downtime__tunnel_incident (cost=0.28..2.30 rows=4 width=370) (never executed)

  • Index Cond: (tunnel_incident = current_incident.id)