explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 3g8Z

Settings
# exclusive inclusive rows x rows loops node
1. 3,599.535 59,809.763 ↑ 3.5 440,840 1

Unique (cost=10,247,632.72..11,258,717.47 rows=1,555,515 width=2,267) (actual time=55,808.870..59,809.763 rows=440,840 loops=1)

2. 39,598.752 56,210.228 ↓ 1.0 1,597,482 1

Sort (cost=10,247,632.72..10,251,521.51 rows=1,555,515 width=2,267) (actual time=55,808.869..56,210.228 rows=1,597,482 loops=1)

  • Sort Key: a.id, a.id_bank, a.id_status_produkt, a.id_produkt_bank, a.id_waluta, a.nr_umowy, a.data_umowy, a.data_start, a.data_stop, a.termin_stop, a.iban, a.id_portfel, a.data_ins, a.opr_ins, a.data_up, a.opr_up, a.b_id, a.data_import, a.numer_sprawy_casmas, a.dokument, a.cbk, a.zawieszona, a.odmowa_splaty, a.data_aktualizacji, a.fraud, a.przedawniona, a.do_terenowej, a.do_prawnej, a.fraud_data_zmiany, a.przedawniona_data_zmiany, a.do_terenowej_data_zmiany, a.do_prawnej_data_zmiany, a.niekontaktowalna_data_zmiany, a.niekontaktowalna, a.id_produkt_old, a.operator_913, a.id_dokument_produkt, a.opis_dokument, a.bte_data, a.bte_id_egzekucja_decyzja, a.bte_id_status_postepowania_egzekucja, a.bte_id_status_postepowania_sadowe, a.bte_klauzula_data_nadania, a.bte_klauzula_data_otrzymania, a.bte_koszty_uzyskania_bte, a.bte_koszty_zastepstwa_procesowego, a.bte_kwota, a.bte_kze_data, a.bte_kze_kwota, a.bte_numer, a.bte_postanowienie_data_otrzymania, a.bte_postanowienie_data_wydania, a.bte_pow_przeciwegz_data_wniesienia, a.bte_sygnatura_akt_komorniczych, a.bte_sygnatura_akt_sadowych, a.bte_tytul_wykonawczy_poprawny, a.bte_wniosek_data_pismo, a.bte_wniosek_data_wyslania, a.bte_wniosek_egzekucyjny_data_pismo, a.bte_wniosek_egzekucyjny_data_wyslania, a.bte_wniosek_egzekucyjny_kwota, a.nakaz_data_sprzeciwu_zarzutow, a.nakaz_id_egzekucja_decyzja, a.nakaz_id_status_postepowania_egzekucja, a.nakaz_id_status_postepowania_sadowe, a.nakaz_klauzula_data_odebrania, a.nakaz_klauzula_data_wydania, a.nakaz_koszty_procesu, a.nakaz_koszty_zastepstwa_klauzulowego, a.nakaz_koszty_zastepstwa_procesowego, a.nakaz_kze_data, a.nakaz_kze_kwota, a.nakaz_nakaz_data_odebrania, a.nakaz_nakaz_data_wydania, a.nakaz_pow_przeciwegz_data_wniesienia, a.nakaz_pozew_data_pismo, a.nakaz_pozew_data_wyslania, a.nakaz_pozew_wps, a.nakaz_sygnatura_akt_komorniczych, a.nakaz_sygnatura_akt_po_sprzeciwie, a.nakaz_sygnatura_akt_sadowych, a.nakaz_tytul_wykonawczy_poprawny, a.nakaz_wniosek_egzekucyjny_data_pismo, a.nakaz_wniosek_egzekucyjny_data_wyslania, a.nakaz_wniosek_egzekucyjny_kwota, a.nakaz_wyciag_data, a.nakaz_wyciag_kwota, a.nakaz_wyciag_numer, a.nakaz_zwrot_oplaty_sadowej, a.nakaz_id_sad, a.nakaz_id_sad_wydzial, a.id_sad, a.id_sad_wydzial, a.epu_data_sprzeciwu_zarzutow, a.epu_id_egzekucja_decyzja, a.epu_id_status_postepowania_egzekucja, a.epu_id_status_postepowania_sadowe, a.epu_klauzula_data_odebrania, a.epu_klauzula_data_wydania, a.epu_koszty_procesu, a.epu_koszty_zastepstwa_klauzulowego, a.epu_koszty_zastepstwa_procesowego, a.epu_kze_data, a.epu_kze_kwota, a.epu_nakaz_data_odebrania, a.epu_nakaz_data_wydania, a.epu_pow_przeciwegz_data_wniesienia, a.epu_pozew_data_pismo, a.epu_pozew_data_wyslania, a.epu_pozew_wps, a.epu_sygnatura_akt_komorniczych, a.epu_sygnatura_akt_po_sprzeciwie, a.epu_sygnatura_akt_sadowych, a.epu_tytul_wykonawczy_poprawny, a.epu_wniosek_egzekucyjny_data_pismo, a.epu_wniosek_egzekucyjny_data_wyslania, a.epu_wniosek_egzekucyjny_kwota, a.epu_wyciag_data, a.epu_wyciag_kwota, a.epu_wyciag_numer, a.epu_zwrot_oplaty_sadowej, a.pw_data_sprzeciwu_zarzutow, a.pw_id_egzekucja_decyzja, a.pw_id_status_postepowania_egzekucja, a.pw_id_status_postepowania_sadowe, a.pw_klauzula_data_odebrania, a.pw_klauzula_data_wydania, a.pw_koszty_procesu, a.pw_koszty_zastepstwa_klauzulowego, a.pw_koszty_zastepstwa_procesowego, a.pw_kze_data, a.pw_kze_kwota, a.pw_nakaz_data_odebrania, a.pw_nakaz_data_wydania, a.pw_pow_przeciwegz_data_wniesienia, a.pw_pozew_data_pismo, a.pw_pozew_data_wyslania, a.pw_pozew_wps, a.pw_sygnatura_akt_komorniczych, a.pw_sygnatura_akt_po_sprzeciwie, a.pw_sygnatura_akt_sadowych, a.pw_tytul_wykonawczy_poprawny, a.pw_wniosek_egzekucyjny_data_pismo, a.pw_wniosek_egzekucyjny_data_wyslania, a.pw_wniosek_egzekucyjny_kwota, a.pw_wyciag_data, a.pw_wyciag_kwota, a.pw_wyciag_numer, a.pw_zwrot_oplaty_sadowej, a.gosp_id_sad, a.gosp_id_sad_wydzial, a.pw_zawarta_ugoda_przez_pw, a.bte_id_podstatus_postepowania_egzekucja, a.nakaz_id_podstatus_postepowania_egzekucja, (...)
  • Sort Method: external sort Disk: 595440kB
3. 5,977.970 16,611.476 ↓ 1.0 1,597,482 1

WindowAgg (cost=5,467,194.43..5,509,971.09 rows=1,555,515 width=2,267) (actual time=10,086.189..16,611.476 rows=1,597,482 loops=1)

4. 3,541.063 10,633.506 ↓ 1.0 1,597,482 1

Sort (cost=5,467,194.43..5,471,083.21 rows=1,555,515 width=2,267) (actual time=10,086.168..10,633.506 rows=1,597,482 loops=1)

  • Sort Key: a.id, bp_stan_produkt.data_od DESC
  • Sort Method: external sort Disk: 570720kB
5. 1,141.456 7,092.443 ↓ 1.0 1,597,482 1

Hash Left Join (cost=57,718.17..729,532.79 rows=1,555,515 width=2,267) (actual time=268.698..7,092.443 rows=1,597,482 loops=1)

  • Hash Cond: ((bp_stan_produkt.id_podstan_produkt = d2.id) AND (a.id_bank = d2.id_bank))
6. 1,191.372 5,949.373 ↓ 1.0 1,597,482 1

Hash Left Join (cost=57,498.12..513,770.73 rows=1,555,515 width=2,252) (actual time=267.070..5,949.373 rows=1,597,482 loops=1)

  • Hash Cond: ((bp_stan_produkt.id_stan_produkt = d1.id) AND (a.id_bank = d1.id_bank))
7. 1,181.334 4,757.295 ↓ 1.0 1,597,482 1

Hash Left Join (cost=57,406.12..334,794.51 rows=1,555,515 width=2,237) (actual time=266.356..4,757.295 rows=1,597,482 loops=1)

  • Hash Cond: ((a.id_status_produkt = d_bp_status_produkt.id) AND (a.id_bank = d_bp_status_produkt.id_bank))
8. 1,239.783 3,575.820 ↓ 1.0 1,597,482 1

Merge Left Join (cost=57,389.92..280,335.28 rows=1,555,515 width=2,223) (actual time=266.194..3,575.820 rows=1,597,482 loops=1)

  • Merge Cond: (a.id = bp_stan_produkt.id_produkt)
9. 703.553 1,373.815 ↑ 1.0 440,840 1

Merge Left Join (cost=57,380.06..139,427.56 rows=440,840 width=2,191) (actual time=266.173..1,373.815 rows=440,840 loops=1)

  • Merge Cond: (a.id = z.id_produkt)
10. 271.330 271.330 ↑ 1.0 440,840 1

Index Scan using bp_produkt_pkey on bp_produkt a (cost=0.42..73,231.56 rows=440,840 width=2,185) (actual time=0.008..271.330 rows=440,840 loops=1)

11. 62.213 398.932 ↑ 1.0 440,840 1

Materialize (cost=57,379.42..59,583.62 rows=440,840 width=14) (actual time=266.156..398.932 rows=440,840 loops=1)

12. 282.759 336.719 ↑ 1.0 440,840 1

Sort (cost=57,379.42..58,481.52 rows=440,840 width=14) (actual time=266.153..336.719 rows=440,840 loops=1)

  • Sort Key: z.id_produkt
  • Sort Method: external sort Disk: 11456kB
13. 53.960 53.960 ↑ 1.0 440,840 1

Seq Scan on an_mz_saldo_akt z (cost=0.00..8,515.40 rows=440,840 width=14) (actual time=0.005..53.960 rows=440,840 loops=1)

14. 962.222 962.222 ↑ 1.0 1,555,515 1

Index Scan using idxbp_stan_produkt_id_produkt on bp_stan_produkt (cost=0.43..120,361.68 rows=1,555,515 width=40) (actual time=0.016..962.222 rows=1,555,515 loops=1)

15. 0.059 0.141 ↑ 1.0 408 1

Hash (cost=10.08..10.08 rows=408 width=30) (actual time=0.141..0.141 rows=408 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 35kB
16. 0.082 0.082 ↑ 1.0 408 1

Seq Scan on d_bp_status_produkt (cost=0.00..10.08 rows=408 width=30) (actual time=0.005..0.082 rows=408 loops=1)

17. 0.320 0.706 ↑ 1.0 2,040 1

Hash (cost=61.40..61.40 rows=2,040 width=39) (actual time=0.706..0.706 rows=2,040 loops=1)

  • Buckets: 2048 Batches: 1 Memory Usage: 165kB
18. 0.386 0.386 ↑ 1.0 2,040 1

Seq Scan on d_bp_stan_produkt d1 (cost=0.00..61.40 rows=2,040 width=39) (actual time=0.004..0.386 rows=2,040 loops=1)

19. 0.865 1.614 ↑ 1.0 5,202 1

Hash (cost=142.02..142.02 rows=5,202 width=39) (actual time=1.614..1.614 rows=5,202 loops=1)

  • Buckets: 8192 Batches: 1 Memory Usage: 443kB
20. 0.749 0.749 ↑ 1.0 5,202 1

Seq Scan on d_bp_podstan_produkt d2 (cost=0.00..142.02 rows=5,202 width=39) (actual time=0.003..0.749 rows=5,202 loops=1)

Planning time : 9.186 ms
Execution time : 60,414.582 ms