explain.depesz.com

PostgreSQL's explain analyze made readable

Result: GgqyW

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

Aggregate (cost=488,476.27..488,476.28 rows=1 width=8) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=123.52..488,449.50 rows=10,710 width=0) (actual rows= loops=)

  • Hash Cond: (((cdmast_temp.curtyp)::text = (mob_brn.uom_id)::text) AND ((t
  • Join Filter: ((mob_brn.effective_from_date <= to_date(to_char(CASE WHEN (
3. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=64.05..485,605.40 rows=10,710 width=32) (actual rows= loops=)

  • Hash Cond: (((cdmast_temp.curtyp)::text = (mob.uom_id)::text) AND (
  • Join Filter: ((mob.effective_from_date <= to_date(to_char(CASE WHEN
4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=7.21..482,891.19 rows=10,710 width=32) (actual rows= loops=)

  • Join Filter: ((tpr.term_period_id)::text = (tp.term_period_id
5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=7.21..479,342.32 rows=10,710 width=32) (actual rows= loops=)

  • Join Filter: ((co.customer_object_code)::text = (c.cust
  • -> Hash Join (cost=6.78..279017.50 rows=53591 width=4
  • Hash Cond: ((co.customer_object_id)::text = (tpr.
  • Join Filter: ((cdmast_temp.range_date >= tpr.from
  • -> Nested Loop (cost=0.00..120971.16 rows=19553
  • Join Filter: ((co.from_date <= to_date(to_c
  • -> Seq Scan on cdmast_temp (cost=0.00..63
  • Filter: (term_tcod IS NULL)
  • -> Materialize (cost=0.00..1.09 rows=5 wi
  • -> Seq Scan on customer_object co (
  • Filter: ((status_id)::text = 'P
  • -> Index Scan using idxcustomercif on customer c (cos
  • Index Cond: (cif = cdmast_temp.cifno)
6. 0.000 0.000 ↓ 0.0

Hash (cost=5.39..5.39 rows=111 width=28) (actual rows= loops=)

  • -> Seq Scan on term_period_range tpr (cos
  • Filter: ((status_id)::text = 'PARAM_A
7. 0.000 0.000 ↓ 0.0

Materialize (cost=0.00..1.34 rows=23 width=6) (actual rows= loops=)

  • -> Seq Scan on term_period tp (cost=0.00..1.23 rows=2
8. 0.000 0.000 ↓ 0.0

Hash (cost=38.45..38.45 rows=1,051 width=24) (actual rows= loops=)

  • -> Seq Scan on mobilize_interest_rate mob (cost=0.00..38.45
  • Filter: ((branch_brcode IS NULL) AND ((status_id)::text
9. 0.000 0.000 ↓ 0.0

Hash (cost=38.45..38.45 rows=1,051 width=36) (actual rows= loops=)

  • -> Seq Scan on mobilize_interest_rate mob_brn (cost=0.00..38.45 r
  • Filter: ((status_id)::text = 'PARAM_APPROVED'::text)