explain.depesz.com

PostgreSQL's explain analyze made readable

Result: yzBC

Settings
# exclusive inclusive rows x rows loops node
1. 28.835 2,728.743 ↑ 1.0 500,000 1

Limit (cost=47.25..1,167,536.81 rows=500,000 width=146) (actual time=0.071..2,728.743 rows=500,000 loops=1)

2. 1,403.972 2,699.908 ↑ 2.0 500,000 1

Merge Join (cost=47.25..2,323,876.83 rows=995,225 width=146) (actual time=0.070..2,699.908 rows=500,000 loops=1)

  • Merge Cond: (tkts.tem_registro_consumo_id = bcr.id)
  • Join Filter: (to_char(CASE WHEN (tkts.last_update > bcr.last_update) THEN tkts.last_update ELSE bcr.last_update END, 'yyyymmdd'::text) >= '20180101'::text)
3. 241.922 241.922 ↑ 11.9 500,000 1

Index Scan using idx_bill_ticket_call_rec on bill_tickets tkts (cost=0.44..616,495.91 rows=5,961,415 width=48) (actual time=0.016..241.922 rows=500,000 loops=1)

  • Filter: (COALESCE(id_tem_bill_ivn_central, (-1)) > 0)
4. 1,054.014 1,054.014 ↑ 36.0 500,000 1

Index Scan using pk_bill_call_records on tem_registro_consumo bcr (cost=0.56..1,563,202.45 rows=18,012,607 width=102) (actual time=0.016..1,054.014 rows=500,000 loops=1)

  • Filter: ((status)::text = 'CHAMADA_TARIFADA'::text)
  • Rows Removed by Filter: 1518796