explain.depesz.com

PostgreSQL's explain analyze made readable

Result: WvaB

Settings
# exclusive inclusive rows x rows loops node
1. 11.784 263.284 ↓ 12,406.0 12,406 1

Nested Loop Left Join (cost=5.14..59.06 rows=1 width=14) (actual time=0.083..263.284 rows=12,406 loops=1)

2. 84.667 204.112 ↓ 11,847.0 11,847 1

Nested Loop Left Join (cost=4.85..50.75 rows=1 width=32) (actual time=0.057..204.112 rows=11,847 loops=1)

  • Join Filter: (u.userid = su.userid)
  • Rows Removed by Join Filter: 292227
3. 3.627 12.867 ↓ 11,842.0 11,842 1

Nested Loop (cost=4.57..45.86 rows=1 width=13) (actual time=0.029..12.867 rows=11,842 loops=1)

4. 0.454 0.454 ↓ 191.0 382 1

Seq Scan on users u (cost=0.00..12.91 rows=2 width=17) (actual time=0.008..0.454 rows=382 loops=1)

  • Filter: (COALESCE((disabled)::integer, 0) = 0)
  • Rows Removed by Filter: 12
5. 3.438 8.786 ↓ 1.3 31 382

Bitmap Heap Scan on calendar c (cost=4.57..16.25 rows=23 width=18) (actual time=0.017..0.023 rows=31 loops=382)

  • Recheck Cond: (((calendar)::text = (COALESCE(u.calendar, 'Default'::character varying))::text) AND (regday >= '2019-05-01'::date) AND (regday <= '2019-05-31'::date))
  • Heap Blocks: exact=1143
6. 5.348 5.348 ↓ 1.3 31 382

Bitmap Index Scan on calendar_pkey (cost=0.00..4.56 rows=23 width=0) (actual time=0.014..0.014 rows=31 loops=382)

  • Index Cond: (((calendar)::text = (COALESCE(u.calendar, 'Default'::character varying))::text) AND (regday >= '2019-05-01'::date) AND (regday <= '2019-05-31'::date))
7. 106.578 106.578 ↓ 1.7 25 11,842

Index Scan using scheduleuser_regday on scheduleuser su (cost=0.28..4.70 rows=15 width=32) (actual time=0.003..0.009 rows=25 loops=11,842)

  • Index Cond: (c.regday = regday)
8. 47.388 47.388 ↓ 0.0 0 11,847

Index Only Scan using attendencelog_pkey on attendencelog al (cost=0.29..8.30 rows=1 width=21) (actual time=0.004..0.004 rows=0 loops=11,847)

  • Index Cond: ((userid = u.userid) AND (regday = c.regday))
  • Heap Fetches: 1122