explain.depesz.com

PostgreSQL's explain analyze made readable

Result: BNxF

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

Nested Loop Anti Join (cost=269.61..743.53 rows=78 width=1,689) (actual rows= loops=)

  • Join Filter: (au.user_id = users.id)
2. 0.000 0.000 ↓ 0.0

Hash Join (cost=268.54..738.25 rows=78 width=1,689) (actual rows= loops=)

  • Hash Cond: (designs.user_id = users.id)
3. 0.000 0.000 ↓ 0.0

Seq Scan on designs (cost=0.00..453.91 rows=6,014 width=621) (actual rows= loops=)

  • Filter: (user_has_approved AND is_saved AND (NOT is_deleted) AND (NOT teepublic_has_deleted) AND (dmca_takedown_id IS NULL) AND (id IS NOT NULL))
4. 0.000 0.000 ↓ 0.0

Hash (cost=266.70..266.70 rows=147 width=1,068) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Index Scan using index_users_on_is_applicant on users (cost=0.29..266.70 rows=147 width=1,068) (actual rows= loops=)

  • Index Cond: (is_applicant = true)
  • Filter: (NOT is_artist)
6. 0.000 0.000 ↓ 0.0

Materialize (cost=1.07..4.12 rows=1 width=4) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Hash Join (cost=1.07..4.12 rows=1 width=4) (actual rows= loops=)

  • Hash Cond: (a.id = au.affiliate_id)
8. 0.000 0.000 ↓ 0.0

Seq Scan on affiliates a (cost=0.00..2.83 rows=55 width=4) (actual rows= loops=)

  • Filter: (status = ANY ('{0,1}'::integer[]))
9. 0.000 0.000 ↓ 0.0

Hash (cost=1.06..1.06 rows=1 width=8) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Seq Scan on affiliates_users au (cost=0.00..1.06 rows=1 width=8) (actual rows= loops=)

  • Filter: ((role)::text = 'owner'::text)