explain.depesz.com

PostgreSQL's explain analyze made readable

Result: DDqX

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

Hash Right Join (cost=8,240.94..9,999.00 rows=11,512 width=20) (actual rows= loops=)

  • Hash Cond: (((e.override_date)::date = (timezone((c.psql_name)::text, now()))::date) AND (e.route_id = a.id))
2. 0.000 0.000 ↓ 0.0

Seq Scan on route_daily_schedule_overrides e (cost=0.00..20.70 rows=1,070 width=32) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Hash (cost=7,281.26..7,281.26 rows=11,512 width=536) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Hash Join (cost=767.47..7,281.26 rows=11,512 width=536) (actual rows= loops=)

  • Hash Cond: ((a.jurisdiction_id = b.id) AND (d.week_day_id = ((date_part('dow'::text, timezone((c.psql_name)::text, now())) + '1'::double precision))::integer))
5. 0.000 0.000 ↓ 0.0

Hash Join (cost=755.88..6,046.52 rows=80,584 width=28) (actual rows= loops=)

  • Hash Cond: (d.route_id = a.id)
6. 0.000 0.000 ↓ 0.0

Seq Scan on route_daily_schedules d (cost=0.00..3,863.06 rows=167,706 width=24) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Hash (cost=611.83..611.83 rows=11,524 width=8) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Seq Scan on routes a (cost=0.00..611.83 rows=11,524 width=8) (actual rows= loops=)

  • Filter: ((NOT deleted) AND COALESCE(adjusted_active, active))
9. 0.000 0.000 ↓ 0.0

Hash (cost=9.10..9.10 rows=166 width=520) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Hash Join (cost=1.16..9.10 rows=166 width=520) (actual rows= loops=)

  • Hash Cond: (b.time_zone_id = c.id)
11. 0.000 0.000 ↓ 0.0

Seq Scan on jurisdictions b (cost=0.00..5.66 rows=166 width=8) (actual rows= loops=)

  • Filter: active
12. 0.000 0.000 ↓ 0.0

Hash (cost=1.07..1.07 rows=7 width=520) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Seq Scan on time_zones c (cost=0.00..1.07 rows=7 width=520) (actual rows= loops=)