explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 2u3w

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

Hash Right Join (cost=468.76..45,235.08 rows=1 width=168) (actual rows= loops=)

  • Hash Cond: (pr.program_id = p.id)
2. 0.000 0.000 ↓ 0.0

Seq Scan on program_document pr (cost=0.00..41,151.46 rows=956,546 width=72) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Hash (cost=468.75..468.75 rows=1 width=104) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=364.40..468.75 rows=1 width=104) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=364.26..467.93 rows=1 width=107) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=363.97..402.42 rows=15 width=84) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=363.70..394.66 rows=16 width=35) (actual rows= loops=)

  • Hash Cond: (rr.realty_id = r.id)
  • Filter: ((rr.realty_id IS NULL) OR (rr.record_id = '-41'::integer))
8. 0.000 0.000 ↓ 0.0

Seq Scan on record_realty rr (cost=0.00..26.60 rows=1,660 width=16) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Hash (cost=343.71..343.71 rows=1,599 width=43) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Seq Scan on realty r (cost=0.00..343.71 rows=1,599 width=43) (actual rows= loops=)

  • Filter: (((availability)::text <> 'OPTION'::text) AND ((availability)::text <> 'SOLD'::text) AND (including_taxes_price <= '312668'::double precision) AND (((type)::text = 'HOUSE'::text) OR ((type)::text = 'APARTMENT'::text) OR ((type)::text = 'DUPLEX'::text) OR ((type)::text = 'TRIPLEX'::text)))
11. 0.000 0.000 ↓ 0.0

Index Scan using program_pkey on program p (cost=0.27..0.49 rows=1 width=57) (actual rows= loops=)

  • Index Cond: (id = r.program_id)
  • Filter: (is_eligible_pinel IS TRUE)
12. 0.000 0.000 ↓ 0.0

Index Scan using city_pkey on city c (cost=0.29..4.36 rows=1 width=31) (actual rows= loops=)

  • Index Cond: (id = p.city_id)
  • Filter: ((zip_code)::text = ANY ('{92360,93000,93140,93190,93420,93410,93320,93150,93700}'::text[]))
13. 0.000 0.000 ↓ 0.0

Index Only Scan using department_pkey on department d (cost=0.14..0.55 rows=1 width=3) (actual rows= loops=)

  • Index Cond: ((id = (c.department_id)::text) AND (id = ANY ('{92,93}'::text[])))