explain.depesz.com

PostgreSQL's explain analyze made readable

Result: q1SV : Optimization for: plan #KgEv

Settings

Optimization path:

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

Limit (cost=383,550.55..383,550.57 rows=10 width=392) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Sort (cost=383,550.55..383,551.06 rows=203 width=392) (actual rows= loops=)

  • Sort Key: t."createdAt
3. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=1,047.72..383,546.16 rows=203 width=392) (actual rows= loops=)

  • Hash Cond: ((t."userId")::text = (u.id)::text)
  • Filter: ((NOT (hashed SubPlan 1)) AND ((COALESCE(u.boxid, '0'::bigint) % '2'::bigint) = 1))
4. 0.000 0.000 ↓ 0.0

Gather (cost=1,000.00..383,283.99 rows=81,171 width=384) (actual rows= loops=)

  • Workers Planned: 2
5. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on "Transport" t (cost=0.00..374,166.89 rows=33,821 width=384) (actual rows= loops=)

  • Filter: (("processedAt" IS NULL) AND ("errorMessage" IS NULL) AND (destination = 'SERVER'::text))
6. 0.000 0.000 ↓ 0.0

Hash (cost=22.98..22.98 rows=1,098 width=24) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Seq Scan on users u (cost=0.00..22.98 rows=1,098 width=24) (actual rows= loops=)

8.          

SubPlan (for Hash Left Join)

9. 0.000 0.000 ↓ 0.0

Seq Scan on "MeetApiUnavailable" (cost=0.00..11.02 rows=1 width=4) (actual rows= loops=)

  • Filter: ("timestamp" > (now() - '00:01:00'::interval))