explain.depesz.com

PostgreSQL's explain analyze made readable

Result: XpTz

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

Limit (cost=42.90..43.01 rows=1 width=231) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=42.90..43.01 rows=1 width=231) (actual rows= loops=)

  • Group Key: cl.id, cl.cid, a.id, sar.remote_screening_id, aa.applicant_id
3. 0.000 0.000 ↓ 0.0

Sort (cost=42.90..42.91 rows=1 width=104) (actual rows= loops=)

  • Sort Key: cl.id, a.id, sar.remote_screening_id, aa.applicant_id
4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4.84..42.89 rows=1 width=104) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=4.56..41.93 rows=1 width=104) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4.13..39.51 rows=1 width=96) (actual rows= loops=)

  • Join Filter: (cl.id = a.lease_id)
7. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=3.70..37.34 rows=1 width=104) (actual rows= loops=)

  • Filter: ((NOT ar.is_deleted) OR (ar.is_deleted IS NULL))
8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3.14..34.75 rows=1 width=95) (actual rows= loops=)

  • Join Filter: (cl.id = sc.lease_id)
9. 0.000 0.000 ↓ 0.0

Nested Loop (cost=2.71..32.54 rows=1 width=82) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop (cost=2.28..30.20 rows=1 width=81) (actual rows= loops=)

  • Join Filter: (cl.id = ld.lease_id)
11. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.85..28.33 rows=1 width=69) (actual rows= loops=)

  • Join Filter: ((cl.id = cap.lease_id) AND (cl.property_id = cap.property_id))
12. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.43..24.56 rows=1 width=69) (actual rows= loops=)

  • Join Filter: ((lc.lease_id = cl.id) AND (lc.property_id = cl.property_id))
13. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.00..22.94 rows=1 width=42) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.71..22.11 rows=1 width=32) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Index Scan using idx_properties_cid_id_is_disabled_remote_primary_key on properties p (cost=0.29..7.36 rows=6 width=12) (actual rows= loops=)

  • Index Cond: (cid = 8508)
16. 0.000 0.000 ↓ 0.0

Index Scan using idx_lease_customers_cid_property_id on lease_customers lc (cost=0.43..2.45 rows=1 width=20) (actual rows= loops=)

  • Index Cond: ((cid = 8508) AND (property_id = p.id))
17. 0.000 0.000 ↓ 0.0

Index Scan using idx_property_addresses_property_id on property_addresses pa (cost=0.29..0.82 rows=1 width=10) (actual rows= loops=)

  • Index Cond: (property_id = lc.property_id)
  • Filter: (address_type_id = 1)
18. 0.000 0.000 ↓ 0.0

Index Scan using idx_cached_leases_cid_property_id on cached_leases cl (cost=0.43..1.61 rows=1 width=31) (actual rows= loops=)

  • Index Cond: ((cid = 8508) AND (property_id = pa.property_id))
  • Filter: ((lease_status_type_id = 6) AND (lease_interval_type_id = 1))
19. 0.000 0.000 ↓ 0.0

Index Scan using idx_cached_application_periods_cid_property_id_application_id on cached_application_periods cap (cost=0.43..3.70 rows=4 width=20) (actual rows= loops=)

  • Index Cond: ((cid = 8508) AND (property_id = pa.property_id))
20. 0.000 0.000 ↓ 0.0

Index Scan using idx_lease_details_lease_id on lease_details ld (cost=0.43..1.86 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (lease_id = cap.lease_id)
  • Filter: (cid = 8508)
21. 0.000 0.000 ↓ 0.0

Index Scan using idx_customer_incomes_cid_customer_id on customer_incomes ci (cost=0.42..2.33 rows=1 width=17) (actual rows= loops=)

  • Index Cond: ((cid = 8508) AND (customer_id = lc.customer_id))
22. 0.000 0.000 ↓ 0.0

Index Scan using idx_scheduled_charges_remote_primary_key on scheduled_charges sc (cost=0.43..2.20 rows=1 width=17) (actual rows= loops=)

  • Index Cond: ((cid = 8508) AND (lease_id = cap.lease_id))
  • Filter: ((NOT is_unselected_quote) AND (deleted_by IS NULL))
23. 0.000 0.000 ↓ 0.0

Index Scan using idx_ar_transactions_allocations_join on ar_transactions ar (cost=0.56..2.58 rows=1 width=22) (actual rows= loops=)

  • Index Cond: ((cid = cl.cid) AND (cid = 8508) AND (property_id = cl.property_id) AND (lease_id = cl.id))
24. 0.000 0.000 ↓ 0.0

Index Scan using uk_applications_lease_interval_id on applications a (cost=0.43..2.16 rows=1 width=12) (actual rows= loops=)

  • Index Cond: ((cid = 8508) AND (lease_id = cap.lease_id))
  • Filter: (NOT is_deleted)
25. 0.000 0.000 ↓ 0.0

Index Scan using idx_applicant_applications_cid_application_id on applicant_applications aa (cost=0.43..2.41 rows=1 width=16) (actual rows= loops=)

  • Index Cond: ((cid = a.cid) AND (cid = 8508) AND (application_id = a.id))
26. 0.000 0.000 ↓ 0.0

Index Scan using idx_screening_application_requests_application_id on screening_application_requests sar (cost=0.29..0.95 rows=1 width=12) (actual rows= loops=)

  • Index Cond: (application_id = a.id)