explain.depesz.com

PostgreSQL's explain analyze made readable

Result: TVjM4 : test

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Update on escalation_event q (cost=4,628.28..4,636.35 rows=1 width=318) (actual rows= loops=)

2.          

CTE pending_tasks

3. 0.000 0.000 ↓ 0.0

Limit (cost=4,627.83..4,627.84 rows=1 width=30) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

LockRows (cost=4,627.83..4,627.84 rows=1 width=30) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Sort (cost=4,627.83..4,627.83 rows=1 width=30) (actual rows= loops=)

  • Sort Key: esf.picked_up_at
6. 0.000 0.000 ↓ 0.0

Seq Scan on escalation_event esf (cost=0.00..4,627.82 rows=1 width=30) (actual rows= loops=)

  • Filter: ((NOT published) AND (picked_up_at <= CURRENT_TIMESTAMP))
7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.44..8.51 rows=1 width=318) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.44..8.47 rows=1 width=286) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

HashAggregate (cost=0.02..0.03 rows=1 width=56) (actual rows= loops=)

  • Group Key: pending_tasks_1.id
10. 0.000 0.000 ↓ 0.0

CTE Scan on pending_tasks pending_tasks_1 (cost=0.00..0.02 rows=1 width=56) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Index Scan using escalation_event_pkey on escalation_event q (cost=0.42..8.44 rows=1 width=246) (actual rows= loops=)

  • Index Cond: (id = pending_tasks_1.id)
12. 0.000 0.000 ↓ 0.0

CTE Scan on pending_tasks (cost=0.00..0.02 rows=1 width=24) (actual rows= loops=)