explain.depesz.com

PostgreSQL's explain analyze made readable

Result: PMGE : new

Settings
# exclusive inclusive rows x rows loops node
1. 0.033 0.406 ↑ 1.6 12 1

HashAggregate (cost=195.16..195.35 rows=19 width=6,708) (actual time=0.401..0.406 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
  • Group Key: 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_ge
  • Buffers: shared hit=212
2. 0.008 0.373 ↑ 1.1 18 1

Append (cost=0.99..194.54 rows=19 width=6,708) (actual time=0.032..0.373 rows=18 loops=1)

  • Buffers: shared hit=212
3. 0.008 0.157 ↑ 1.2 6 1

Nested Loop (cost=0.99..77.65 rows=7 width=71) (actual time=0.030..0.157 rows=6 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.a
  • Buffers: shared hit=79
4. 0.007 0.109 ↑ 1.1 8 1

Nested Loop (cost=0.57..71.43 rows=9 width=63) (actual time=0.025..0.109 rows=8 loops=1)

  • Output: c.client_key, c.source_system, c.client_type, c.client_geography, c.industry, c.structure, r.account_role, r.acquisition_channel, r.account_key
  • Buffers: shared hit=49
5. 0.017 0.062 ↑ 1.0 8 1

Nested Loop (cost=0.29..67.60 rows=8 width=45) (actual time=0.017..0.062 rows=8 loops=1)

  • Output: c.client_key, c.source_system, c.client_type, c.client_geography, c.industry, c.structure, clients_fa_tmp.client_key
  • Buffers: shared hit=25
6. 0.005 0.005 ↑ 1.0 8 1

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

  • Output: clients_fa_tmp.client_key
  • Buffers: shared hit=1
7. 0.040 0.040 ↑ 1.0 1 8

Index Scan using clients_pkey on public.clients c (cost=0.29..8.30 rows=1 width=32) (actual time=0.005..0.005 rows=1 loops=8)

  • 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.ad
  • Index Cond: ((c.client_key)::text = (clients_fa_tmp.client_key)::text)
  • Buffers: shared hit=24
8. 0.040 0.040 ↑ 1.0 1 8

Index Scan using idx_clientaccounts_client_key on public.client_accounts r (cost=0.29..0.47 rows=1 width=44) (actual time=0.005..0.005 rows=1 loops=8)

  • 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
  • Index Cond: ((r.client_key)::text = (c.client_key)::text)
  • Buffers: shared hit=24
9. 0.040 0.040 ↑ 1.0 1 8

Index Scan using accounts_pkey on public.accounts a (cost=0.41..0.68 rows=1 width=54) (actual time=0.005..0.005 rows=1 loops=8)

  • Output: a.account_key, a.account_number, a.application_code, a.account_type_product, a.account_status, a.account_geography, a.anticipated_activity, a.alt_address_line_1, a.alt_address_line_2, a.alt_address_line_3, a
  • Index Cond: ((a.account_key)::text = (r.account_key)::text)
  • Buffers: shared hit=30
10. 0.017 0.208 ↑ 1.0 12 1

Nested Loop (cost=1.11..116.71 rows=12 width=71) (actual time=0.017..0.208 rows=12 loops=1)

  • Output: c_1.client_key, c_1.source_system, c_1.client_type, c_1.client_geography, c_1.industry, c_1.structure, r_1.account_role, a_1.account_number, a_1.application_code, r_1.acquisition_channel, a_1.account_type_product,
  • Buffers: shared hit=133
11. 0.011 0.143 ↑ 1.0 12 1

Nested Loop (cost=0.82..109.85 rows=12 width=52) (actual time=0.013..0.143 rows=12 loops=1)

  • Output: a_1.account_number, a_1.application_code, a_1.account_type_product, a_1.account_status, a_1.account_geography, r_1.account_role, r_1.acquisition_channel, r_1.client_key
  • Buffers: shared hit=97
12. 0.008 0.072 ↑ 1.0 12 1

Nested Loop (cost=0.41..102.40 rows=12 width=77) (actual time=0.007..0.072 rows=12 loops=1)

  • Output: a_1.account_number, a_1.application_code, a_1.account_type_product, a_1.account_status, a_1.account_geography, a_1.account_key, accounts_fa_tmp.account_key
  • Buffers: shared hit=49
13. 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.002..0.004 rows=12 loops=1)

  • Output: accounts_fa_tmp.account_key
  • Buffers: shared hit=1
14. 0.060 0.060 ↑ 1.0 1 12

Index Scan using accounts_pkey on public.accounts a_1 (cost=0.41..8.43 rows=1 width=54) (actual time=0.004..0.005 rows=1 loops=12)

  • Output: a_1.account_key, a_1.account_number, a_1.application_code, a_1.account_type_product, a_1.account_status, a_1.account_geography, a_1.anticipated_activity, a_1.alt_address_line_1, a_1.alt_address_l
  • Index Cond: ((a_1.account_key)::text = (accounts_fa_tmp.account_key)::text)
  • Buffers: shared hit=48
15. 0.060 0.060 ↑ 1.0 1 12

Index Scan using idx_clientaccounts_account_key on public.client_accounts r_1 (cost=0.41..0.61 rows=1 width=44) (actual time=0.005..0.005 rows=1 loops=12)

  • Output: r_1.account_key, r_1.client_key, r_1.account_role, r_1.acquisition_channel, r_1.source_system, r_1.effective_period, r_1.source_created_at, r_1.source_updated_at
  • Index Cond: ((r_1.account_key)::text = (a_1.account_key)::text)
  • Buffers: shared hit=48
16. 0.048 0.048 ↑ 1.0 1 12

Index Scan using clients_pkey on public.clients c_1 (cost=0.29..0.56 rows=1 width=32) (actual time=0.004..0.004 rows=1 loops=12)

  • Output: c_1.client_key, c_1.client_type, c_1.client_name, c_1.tax_identifier, c_1.client_geography, c_1.pep, c_1.sars, c_1.industry, c_1.structure, c_1.source_system, c_1.phone_number, c_1.address_line_1, c_1.addres
  • Index Cond: ((c_1.client_key)::text = (r_1.client_key)::text)
  • Buffers: shared hit=36