explain.depesz.com

PostgreSQL's explain analyze made readable

Result: wSE : current

Settings
# exclusive inclusive rows x rows loops node
1. 10.696 53.067 ↑ 1,235.9 12 1

Hash Join (cost=3,144.94..5,100.98 rows=14,831 width=71) (actual time=37.045..53.067 rows=12 loops=1)

  • Output: c.client_key, c.source_system, c.client_type, c.client_geography, c.industry, c.structure, r.account_role, a.account_number, a.application_code, r.acquisition_channel, a.account_type_product, a.account_status, a.account_geogr
  • Hash Cond: ((c.client_key)::text = (r.client_key)::text)
  • Join Filter: ((hashed SubPlan 1) OR (hashed SubPlan 2))
  • Rows Removed by Join Filter: 8762
  • Buffers: shared hit=3256
2. 5.515 5.515 ↑ 1.0 21,761 1

Seq Scan on public.clients c (cost=0.00..1,550.61 rows=21,761 width=32) (actual time=0.004..5.515 rows=21,761 loops=1)

  • Output: c.client_key, c.client_type, c.client_name, c.tax_identifier, c.client_geography, c.pep, c.sars, c.industry, c.structure, c.source_system, c.phone_number, c.address_line_1, c.address_line_2, c.address_line_3, c.address_
  • Buffers: shared hit=1333
3. 4.494 36.846 ↑ 2.3 8,774 1

Hash (cost=2,895.50..2,895.50 rows=19,775 width=75) (actual time=36.846..36.846 rows=8,774 loops=1)

  • Output: a.account_number, a.application_code, a.account_type_product, a.account_status, a.account_geography, a.account_key, r.account_role, r.acquisition_channel, r.client_key
  • Buckets: 32768 Batches: 1 Memory Usage: 1230kB
  • Buffers: shared hit=1921
4. 11.337 32.352 ↑ 2.3 8,774 1

Hash Join (cost=1,720.69..2,895.50 rows=19,775 width=75) (actual time=15.671..32.352 rows=8,774 loops=1)

  • Output: a.account_number, a.application_code, a.account_type_product, a.account_status, a.account_geography, a.account_key, r.account_role, r.acquisition_channel, r.client_key
  • Hash Cond: ((r.account_key)::text = (a.account_key)::text)
  • Buffers: shared hit=1921
5. 5.555 5.555 ↑ 1.0 24,150 1

Seq Scan on public.client_accounts r (cost=0.00..886.50 rows=24,150 width=44) (actual time=0.002..5.555 rows=24,150 loops=1)

  • Output: r.account_key, r.client_key, r.account_role, r.acquisition_channel, r.source_system, r.effective_period, r.source_created_at, r.source_updated_at
  • Buffers: shared hit=645
6. 8.181 15.460 ↑ 1.0 19,764 1

Hash (cost=1,473.64..1,473.64 rows=19,764 width=54) (actual time=15.460..15.460 rows=19,764 loops=1)

  • Output: a.account_number, a.application_code, a.account_type_product, a.account_status, a.account_geography, a.account_key
  • Buckets: 32768 Batches: 1 Memory Usage: 1821kB
  • Buffers: shared hit=1276
7. 7.279 7.279 ↑ 1.0 19,764 1

Seq Scan on public.accounts a (cost=0.00..1,473.64 rows=19,764 width=54) (actual time=0.005..7.279 rows=19,764 loops=1)

  • Output: a.account_number, a.application_code, a.account_type_product, a.account_status, a.account_geography, a.account_key
  • Buffers: shared hit=1276
8.          

SubPlan (forHash Join)

9. 0.006 0.006 ↑ 1.0 8 1

Seq Scan on public.clients_fa_tmp (cost=0.00..1.08 rows=8 width=13) (actual time=0.004..0.006 rows=8 loops=1)

  • Output: clients_fa_tmp.client_key
  • Buffers: shared hit=1
10. 0.004 0.004 ↑ 1.0 12 1

Seq Scan on public.accounts_fa_tmp (cost=0.00..1.12 rows=12 width=23) (actual time=0.003..0.004 rows=12 loops=1)

  • Output: accounts_fa_tmp.account_key
  • Buffers: shared hit=1