explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Vmyi : update

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

Append (cost=9,582,948.56..12,253,609.78 rows=42,481,781 width=90) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Unique (cost=9,582,948.56..10,560,482.64 rows=39,101,363 width=90) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Sort (cost=9,582,948.56..9,680,701.97 rows=39,101,363 width=90) (actual rows= loops=)

  • Sort Key: a.alert_id p.party_first_name a.alert_date a.score p.party_key ac.account_key b.name
4. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=245,862.80..2,647,417.79 rows=39,101,363 width=90) (actual rows= loops=)

  • Hash Cond: ((ac.alert_id)::text = (a.alert_id)::text)
5. 0.000 0.000 ↓ 0.0

Seq Scan on account ac (cost=0.00..1,282,817.43 rows=38,811,943 width=33) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Hash (cost=234,887.40..234,887.40 rows=878,032 width=75) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=135,799.51..234,887.40 rows=878,032 width=75) (actual rows= loops=)

  • Hash Cond: ((c.alert_id)::text = (a.alert_id)::text)
8. 0.000 0.000 ↓ 0.0

Seq Scan on proc_trm_detectgroup c (cost=0.00..70,386.56 rows=1,770,756 width=18) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Hash (cost=130,397.63..130,397.63 rows=432,151 width=75) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=40,813.70..130,397.63 rows=432,151 width=75) (actual rows= loops=)

  • Hash Cond: ((a.f2)::text = (b.id)::text)
11. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=40,805.88..93,064.39 rows=432,151 width=81) (actual rows= loops=)

  • Hash Cond: ((p.alert_id)::text = (a.alert_id)::text)
12. 0.000 0.000 ↓ 0.0

Seq Scan on party p (cost=0.00..37,353.00 rows=940,800 width=46) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Hash (cost=35,403.99..35,403.99 rows=432,151 width=53) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Seq Scan on alerts a (cost=0.00..35,403.99 rows=432,151 width=53) (actual rows= loops=)

  • Filter: ((branch_cd IS NOT NULL) AND ((module_id)::text = 'TRM'::text) AND ((branch_cd)::text = 'CC01'::text))
15. 0.000 0.000 ↓ 0.0

Hash (cost=5.14..5.14 rows=214 width=12) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Seq Scan on basic_statusdata b (cost=0.00..5.14 rows=214 width=12) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Unique (cost=1,183,798.89..1,268,309.34 rows=3,380,418 width=88) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Sort (cost=1,183,798.89..1,192,249.93 rows=3,380,418 width=88) (actual rows= loops=)

  • Sort Key: a_1.alert_id p_1.party_first_name a_1.alert_date a_1.score p_1.party_key ac_1.account_key b_1.name
19. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=92,529.81..655,453.84 rows=3,380,418 width=88) (actual rows= loops=)

  • Hash Cond: ((a_1.alert_id)::text = (c_1.alert_id)::text)
20. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8.81..379,846.65 rows=790,905 width=88) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8.24..25,434.58 rows=2,623 width=73) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=7.82..5,031.67 rows=2,623 width=45) (actual rows= loops=)

  • Hash Cond: ((a_1.f2)::text = (b_1.id)::text)
23. 0.000 0.000 ↓ 0.0

Seq Scan on arch_alerts a_1 (cost=0.00..4,795.77 rows=2,623 width=55) (actual rows= loops=)

  • Filter: ((branch_cd IS NOT NULL) AND ((module_id)::text = 'TRM'::text) AND ((branch_cd)::text = 'CC01'::text))
24. 0.000 0.000 ↓ 0.0

Hash (cost=5.14..5.14 rows=214 width=12) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Seq Scan on basic_statusdata b_1 (cost=0.00..5.14 rows=214 width=12) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Index Scan using party_pk on party p_1 (cost=0.42..7.77 rows=1 width=46) (actual rows= loops=)

  • Index Cond: ((a_1.alert_id)::text = (alert_id)::text)
27. 0.000 0.000 ↓ 0.0

Index Only Scan using account_pk on account ac_1 (cost=0.56..116.49 rows=1,863 width=33) (actual rows= loops=)

  • Index Cond: (alert_id = (a_1.alert_id)::text)
28. 0.000 0.000 ↓ 0.0

Hash (cost=70,386.56..70,386.56 rows=1,770,756 width=18) (actual rows= loops=)

29. 0.000 0.000 ↓ 0.0

Seq Scan on proc_trm_detectgroup c_1 (cost=0.00..70,386.56 rows=1,770,756 width=18) (actual rows= loops=)