explain.depesz.com

PostgreSQL's explain analyze made readable

Result: RCXf : Optimization for: Optimization for: Optimization for: plan #a4lM; plan #seLw; plan #WI4j

Settings

Optimization path:

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

HashAggregate (cost=1,120,393.00..1,120,413.17 rows=2,017 width=88) (actual rows= loops=)

  • Output: v0.cpf_numerico, v0.cpf, v0.id_recipients, v0.cpfhash
  • Group Key: v0.cpf_numerico, v0.cpf, v0.id_recipients, v0.cpfhash
2. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17,207.49..1,120,372.83 rows=2,017 width=88) (actual rows= loops=)

  • Output: v0.cpf_numerico, v0.cpf, v0.id_recipients, v0.cpfhash
3. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on public.vvavv2_car_cliente v1 (cost=17,207.05..1,086,791.92 rows=4,049 width=8) (actual rows= loops=)

  • Output: v1.bandeiraoff, v1.bandeiraoncba, v1.bandeiraonext, v1.bandeiraonpfr, v1.comprou, v1.comprouoffcba, v1.comprouoffpfr, v1.comprouoncba, v1.comprouonpfr, v1.datacadastrooff, v1.datafimvigencia, v1.datainiciovigencia, v1.grupopropcdcativo, v1.grupopropcdcir, v1.nomecompletocba, v1.nomecompletoext, v1.nomecompletopfr, v1.ticketmediototalall, v1.tipopreaprovadoelegivel, v1.cpf_numerico, v1.dt_altera, v1.dt_cria, v1.fl_massivo_cb, v1.fl_massivo_ex, v1.fl_massivo_pf, v1.id_recipients, v1.origem_dados, v1.persona, v1.comproucba, v1.comprouext, v1.comproupfr, v1.cpf, v1.cpfhash, v1.datacadastrocba, v1.datacadastroext, v1.datacadastropfr, v1.datacarga, v1.datanascimentocba, v1.datanascimentoext, v1.datanascimentopfr, v1.dataultimavendacba, v1.dataultimavendaext, v1.dataultimavendapfr, v1.generocba, v1.generoext, v1.generopfr, v1.nomecba, v1.nomeext, v1.nomepfr, v1.origemcba, v1.origemext, v1.origempfr, v1.percentualparcelapaga, v1.publicoelegivel, v1.quantidadeparcela, v1.quantidadeparcelaemaberto, v1.valorparcela
  • Recheck Cond: ((v1.persona)::text = 'Conveniencia'::text)
  • Filter: ((timezone('America/Sao_Paulo'::text, v1.dataultimavendapfr))::date = adddays(('2019-01-09'::date)::timestamp with time zone, (-487)))
4. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on icliente_indexpersona_b661c250 (cost=0.00..17,206.04 rows=809,797 width=0) (actual rows= loops=)

  • Index Cond: ((v1.persona)::text = 'Conveniencia'::text)
5. 0.000 0.000 ↓ 0.0

Index Scan using to_indexid_recipients_f9ea239e on public.vvavv2_car_cliente_contato v0 (cost=0.44..8.28 rows=1 width=88) (actual rows= loops=)

  • Output: v0.cpf_numerico, v0.data_optout_cba, v0.data_optout_ext, v0.data_optout_pfr, v0.dominio_email_cba, v0.dominio_email_ext, v0.dominio_email_pfr, v0.dt_altera, v0.dt_cria, v0.fl_massivo_cb, v0.fl_massivo_ex, v0.fl_massivo_pf, v0.id_recipients, v0.origem_dados, v0.cpf, v0.cpfhash, v0.datacarga, v0.emailcba, v0.emailext, v0.emailpfr, v0.flagnewscba, v0.flagnewsext, v0.flagnewspfr, v0.flagsmsnewscba, v0.flagsmsnewsext, v0.flagsmsnewspfr, v0.telefonecelularcba, v0.telefonecelularext, v0.telefonecelularpfr
  • Index Cond: (v0.id_recipients = v1.id_recipients)
  • Filter: (v0.emailpfr IS NOT NULL)