explain.depesz.com

PostgreSQL's explain analyze made readable

Result: u9VQ

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

Nested Loop Anti Join (cost=45.89..109.86 rows=1 width=302) (actual rows= loops=)

  • Join Filter: ((subscribers_maileon_event.email)::text = (ecc.email)::text)
2. 0.000 0.000 ↓ 0.0

Nested Loop Anti Join (cost=45.89..73.31 rows=1 width=302) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=45.46..64.78 rows=1 width=302) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Seq Scan on event_campaign_contacts ecc (cost=0.00..19.20 rows=1 width=290) (actual rows= loops=)

  • Filter: ("unsubscriptionDate" IS NULL)
5. 0.000 0.000 ↓ 0.0

Aggregate (cost=45.46..45.50 rows=1 width=12) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Append (cost=0.00..45.44 rows=3 width=16) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Seq Scan on reservations (cost=0.00..0.00 rows=1 width=16) (actual rows= loops=)

  • Filter: (("profileID" = ecc."profileId") AND ("reservationExtendedStatus" = ANY ('{ACTIVE,HOTEL_PENDING,GUEST_PENDING}'::"ReservationExtendedStatus"[])) AND ("reservationSubmitDate" > (CURRENT_TIMESTAMP - '30 days'::interval)))
8. 0.000 0.000 ↓ 0.0

Index Scan using requests_profile_idx on requests (cost=0.42..24.72 rows=1 width=16) (actual rows= loops=)

  • Index Cond: ("profileID" = ecc."profileId")
  • Filter: (("reservationExtendedStatus" = ANY ('{ACTIVE,HOTEL_PENDING,GUEST_PENDING}'::"ReservationExtendedStatus"[])) AND ("reservationSubmitDate" > (CURRENT_TIMESTAMP - '30 days'::interval)))
9. 0.000 0.000 ↓ 0.0

Index Scan using room_reservations_profile_idx on room_reservations (cost=0.43..20.66 rows=1 width=16) (actual rows= loops=)

  • Index Cond: ("profileID" = ecc."profileId")
  • Filter: (("reservationExtendedStatus" = ANY ('{ACTIVE,HOTEL_PENDING,GUEST_PENDING}'::"ReservationExtendedStatus"[])) AND ("reservationSubmitDate" > (CURRENT_TIMESTAMP - '30 days'::interval)))
10. 0.000 0.000 ↓ 0.0

Index Scan using subscribers_pkey on subscribers (cost=0.43..8.49 rows=1 width=22) (actual rows= loops=)

  • Index Cond: ((email)::text = (ecc.email)::text)
  • Filter: ('szallashu'::text = ANY ((list)::text[]))
11. 0.000 0.000 ↓ 0.0

Seq Scan on subscribers_maileon_event (cost=0.00..36.50 rows=1 width=32) (actual rows= loops=)

  • Filter: (("eventID" = 543) AND ("sendDate" > (CURRENT_DATE - 14)))