explain.depesz.com

PostgreSQL's explain analyze made readable

Result: xlkq

Settings
# exclusive inclusive rows x rows loops node
1. 493.877 1,115.623 ↓ 1.1 330,998 1

Hash Join (cost=82,459.72..121,431.99 rows=303,603 width=8) (actual time=412.959..1,115.623 rows=330,998 loops=1)

  • Hash Cond: (pp.user_id = u.id)
2. 210.520 210.520 ↑ 1.0 974,345 1

Seq Scan on sermo_physician_profiles pp (cost=0.00..32,282.45 rows=974,345 width=8) (actual time=0.004..210.520 rows=974,345 loops=1)

3. 143.728 411.226 ↑ 1.0 421,615 1

Hash (cost=77,143.58..77,143.58 rows=425,291 width=4) (actual time=411.226..411.226 rows=421,615 loops=1)

  • Buckets: 524288 Batches: 1 Memory Usage: 18919kB
4. 221.081 267.498 ↑ 1.0 421,615 1

Bitmap Heap Scan on sermo_users u (cost=8,958.90..77,143.58 rows=425,291 width=4) (actual time=55.506..267.498 rows=421,615 loops=1)

  • Recheck Cond: ((country_of_practice_code)::text = 'US'::text)
  • Filter: (NOT sermo_employee)
  • Heap Blocks: exact=47208
5. 46.417 46.417 ↑ 1.0 421,615 1

Bitmap Index Scan on ix_sermo_users_country_code_us (cost=0.00..8,852.57 rows=424,695 width=0) (actual time=46.417..46.417 rows=421,615 loops=1)

  • Index Cond: (((country_of_practice_code)::text = 'US'::text) AND (sermo_employee = false))