explain.depesz.com

PostgreSQL's explain analyze made readable

Result: zJK6

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

Nested Loop Semi Join (cost=62,346.79..67,956.01 rows=414 width=8) (actual time=617.647..617.647 rows=0 loops=1)

2. 60.606 617.647 ↓ 0.0 0 1

Hash Join (cost=62,346.79..64,975.82 rows=2,346 width=20) (actual time=617.647..617.647 rows=0 loops=1)

  • Hash Cond: (ce.task_id = tt1.id)
3. 12.012 12.012 ↓ 1.1 32,841 1

Index Scan using cal_event_i04 on cal_event_t ce (cost=0.00..1,739.80 rows=31,138 width=16) (actual time=0.012..12.012 rows=32,841 loops=1)

  • Index Cond: (start_date > '2018-12-03'::date)
4. 84.667 545.029 ↓ 5.2 587,230 1

Hash (cost=60,487.77..60,487.77 rows=113,282 width=4) (actual time=545.029..545.029 rows=587,230 loops=1)

  • Buckets: 4096 Batches: 32 (originally 8) Memory Usage: 1025kB
5. 98.649 460.362 ↓ 5.2 587,230 1

Hash Join (cost=2.35..60,487.77 rows=113,282 width=4) (actual time=0.040..460.362 rows=587,230 loops=1)

  • Hash Cond: (tt1.status_id = st.id)
6. 195.236 361.706 ↓ 1.5 587,230 1

Hash Join (cost=1.17..58,338.96 rows=396,487 width=16) (actual time=0.030..361.706 rows=587,230 loops=1)

  • Hash Cond: (tt1.status_id = st1.id)
7. 166.467 166.467 ↑ 1.0 1,387,705 1

Seq Scan on om_task_t tt1 (cost=0.00..50,821.05 rows=1,387,705 width=8) (actual time=0.021..166.467 rows=1,387,705 loops=1)

8. 0.002 0.003 ↑ 1.0 2 1

Hash (cost=1.15..1.15 rows=2 width=8) (actual time=0.003..0.003 rows=2 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 1kB
9. 0.001 0.001 ↑ 1.0 2 1

Seq Scan on fm_status_t st1 (cost=0.00..1.15 rows=2 width=8) (actual time=0.001..0.001 rows=2 loops=1)

  • Filter: ((code)::text = ANY ('{ORPHAN,CANCEL}'::text[]))
  • Rows Removed by Filter: 10
10. 0.002 0.007 ↑ 1.0 2 1

Hash (cost=1.15..1.15 rows=2 width=8) (actual time=0.007..0.007 rows=2 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 1kB
11. 0.005 0.005 ↑ 1.0 2 1

Seq Scan on fm_status_t st (cost=0.00..1.15 rows=2 width=8) (actual time=0.005..0.005 rows=2 loops=1)

  • Filter: ((code)::text = ANY ('{ORPHAN,CANCEL}'::text[]))
  • Rows Removed by Filter: 10
12. 0.000 0.000 ↓ 0.0 0

Index Only Scan using cal_event_i06 on cal_event_t ce1 (cost=0.00..6.81 rows=6 width=8) (never executed)

  • Index Cond: (task_id = tt1.id)
  • Heap Fetches: 0