explain.depesz.com

A tool for finding a real cause for slow queries.

Result: cUW

options
Did it help? Consider supporting us - Bitcoin address: 12v2hUztAk2LgzQ9H9LMwuU32urHMjZQnq
# exclusive inclusive rows x rows loops node
1. 13.052 1,373.444 ↑ 23.1 2,127 1

HashAggregate (cost=3,697,557.69..7,370,386.00 rows=49,038 width=118) (actual time=1,371.374..1,373.444 rows=2,127 loops=1)

  • Output: parctit.dtvencimento, (CASE WHEN (tipodoccobranca.florigem = 3) THEN cartao.dscartao ELSE pessoa.dsnomepessoa END), (CASE WHEN (tipodoccobranca.florigem = 3) THEN titulo.cdcartao ELSE titulo.cdpessoa END), (('2012-04-23'::date - date(parctit.dtvencimento))), titulo.cdempresa, ((((titulo.dsdocumento)::text || '/'::text) || ((parctit.nrparcela)::character varying(10))::text)), titulo.dtlancamento, parctit.flsitpag, contacorrente.idnrconta, parctit.dtvencimento, parctit.vlliquido, parctit.vlbruto, parctit.vlsaldo, parctit.vlliquido, (((SubPlan 1) + (SubPlan 2))), ((SubPlan 3))
  • Buffers: shared hit=93971
2. 59.470 1,360.392 ↑ 11.3 4,326 1

Hash Left Join (cost=15,805.54..3,695,596.17 rows=49,038 width=118) (actual time=564.590..1,360.392 rows=4,326 loops=1)

  • Output: parctit.dtvencimento, CASE WHEN (tipodoccobranca.florigem = 3) THEN cartao.dscartao ELSE pessoa.dsnomepessoa END, CASE WHEN (tipodoccobranca.florigem = 3) THEN titulo.cdcartao ELSE titulo.cdpessoa END, ('2012-04-23'::date - date(parctit.dtvencimento)), titulo.cdempresa, (((titulo.dsdocumento)::text || '/'::text) || ((parctit.nrparcela)::character varying(10))::text), titulo.dtlancamento, parctit.flsitpag, contacorrente.idnrconta, parctit.dtvencimento, parctit.vlliquido, parctit.vlbruto, parctit.vlsaldo, parctit.vlliquido, ((SubPlan 1) + (SubPlan 2)), (SubPlan 3)
  • Hash Cond: (titulo.cdtipodoccobranca = tipodoccobranca.cdtipodoccobranca)
  • Buffers: shared hit=93971
3. 99.523 738.530 ↑ 11.3 4,326 1

Hash Join (cost=15,804.47..22,582.90 rows=49,038 width=118) (actual time=564.229..738.530 rows=4,326 loops=1)

  • Output: parctit.dtvencimento, parctit.nrparcela, parctit.flsitpag, parctit.vlliquido, parctit.vlbruto, parctit.vlsaldo, parctit.cdempresa, parctit.cdparcelatitulo, titulo.cdcartao, titulo.cdpessoa, titulo.cdempresa, titulo.dsdocumento, titulo.dtlancamento, titulo.cdtipodoccobranca, contacorrente.idnrconta, pessoa.dsnomepessoa, cartao.dscartao
  • Hash Cond: (parcelaoperacao.cdparcelatitulo = parctit.cdparcelatitulo)
  • Buffers: shared hit=6185
4. 109.763 109.763 ↓ 1.0 126,846 1

Seq Scan on dah.parcelaoperacao (cost=0.00..3,755.40 rows=126,632 width=8) (actual time=0.014..109.763 rows=126,846 loops=1)

  • Output: parcelaoperacao.cdparcelaoperacao, parcelaoperacao.cdparcelatitulo, parcelaoperacao.dtreferencia, parcelaoperacao.fltipooperacao, parcelaoperacao.cdempresa, parcelaoperacao.vlvalor, parcelaoperacao.flcancelado, parcelaoperacao.dhmovimento, parcelaoperacao.flmovpdv, parcelaoperacao.cdusuario
  • Filter: ((parcelaoperacao.cdempresa = 1) AND (parcelaoperacao.flcancelado = 0))
  • Buffers: shared hit=1619
5. 4.990 529.244 ↑ 7.3 3,804 1

Hash (cost=15,455.27..15,455.27 rows=27,936 width=118) (actual time=529.244..529.244 rows=3,804 loops=1)

  • Output: parctit.dtvencimento, parctit.nrparcela, parctit.flsitpag, parctit.vlliquido, parctit.vlbruto, parctit.vlsaldo, parctit.cdempresa, parctit.cdparcelatitulo, titulo.cdcartao, titulo.cdpessoa, titulo.cdempresa, titulo.dsdocumento, titulo.dtlancamento, titulo.cdtipodoccobranca, contacorrente.idnrconta, pessoa.dsnomepessoa, cartao.dscartao
  • Buckets: 4096 Batches: 1 Memory Usage: 525kB
  • Buffers: shared hit=4566
6. 112.181 524.254 ↑ 7.3 3,804 1

Hash Right Join (cost=7,252.05..15,455.27 rows=27,936 width=118) (actual time=305.629..524.254 rows=3,804 loops=1)

  • Output: parctit.dtvencimento, parctit.nrparcela, parctit.flsitpag, parctit.vlliquido, parctit.vlbruto, parctit.vlsaldo, parctit.cdempresa, parctit.cdparcelatitulo, titulo.cdcartao, titulo.cdpessoa, titulo.cdempresa, titulo.dsdocumento, titulo.dtlancamento, titulo.cdtipodoccobranca, contacorrente.idnrconta, pessoa.dsnomepessoa, cartao.dscartao
  • Hash Cond: ((lancplanofin.cdempresa = parctit.cdempresa) AND (lancplanofin.cdparcelatitulo = parctit.cdparcelatitulo))
  • Buffers: shared hit=4566
7. 137.259 137.259 ↓ 1.0 142,555 1

Seq Scan on dah.lancplanofin (cost=0.00..4,716.82 rows=142,535 width=8) (actual time=0.006..137.259 rows=142,555 loops=1)

  • Output: lancplanofin.cdlancplanofin, lancplanofin.cdlancestornado, lancplanofin.cdparcelatitulo, lancplanofin.cdplanoconta, lancplanofin.vlvalor, lancplanofin.fllancplanodebcre, lancplanofin.cdcentrocusto, lancplanofin.flativo, lancplanofin.cdempresa, lancplanofin.florigemlctoplano, lancplanofin.cdpagamentoparcela, lancplanofin.dtlancamento, lancplanofin.fltipolancamento, lancplanofin.cdmovimentocc, lancplanofin.flident, lancplanofin.flcancelado, lancplanofin.cdparcelaoperacao
  • Filter: ((lancplanofin.flcancelado = 0) AND (lancplanofin.cdempresa = 1))
  • Buffers: shared hit=2220
8. 3.516 274.814 ↑ 6.6 2,127 1

Hash (cost=7,039.96..7,039.96 rows=14,139 width=118) (actual time=274.814..274.814 rows=2,127 loops=1)

  • Output: parctit.dtvencimento, parctit.nrparcela, parctit.flsitpag, parctit.vlliquido, parctit.vlbruto, parctit.vlsaldo, parctit.cdempresa, parctit.cdparcelatitulo, titulo.cdcartao, titulo.cdpessoa, titulo.cdempresa, titulo.dsdocumento, titulo.dtlancamento, titulo.cdtipodoccobranca, contacorrente.idnrconta, pessoa.dsnomepessoa, cartao.dscartao
  • Buckets: 2048 Batches: 1 Memory Usage: 295kB
  • Buffers: shared hit=2346
9. 3.210 271.298 ↑ 6.6 2,127 1

Nested Loop (cost=3,127.08..7,039.96 rows=14,139 width=118) (actual time=231.052..271.298 rows=2,127 loops=1)

  • Output: parctit.dtvencimento, parctit.nrparcela, parctit.flsitpag, parctit.vlliquido, parctit.vlbruto, parctit.vlsaldo, parctit.cdempresa, parctit.cdparcelatitulo, titulo.cdcartao, titulo.cdpessoa, titulo.cdempresa, titulo.dsdocumento, titulo.dtlancamento, titulo.cdtipodoccobranca, contacorrente.idnrconta, pessoa.dsnomepessoa, cartao.dscartao
  • Join Filter: (titulo.cdmoeda = moeda.cdmoeda)
  • Buffers: shared hit=2346
10. 0.005 0.005 ↑ 1.0 1 1

Seq Scan on dah.moeda (cost=0.00..1.01 rows=1 width=4) (actual time=0.004..0.005 rows=1 loops=1)

  • Output: moeda.cdmoeda, moeda.dssimbolo, moeda.dsmoedasingular, moeda.dsmoedaplural, moeda.dsformato, moeda.flativo, moeda.cdempresa
  • Buffers: shared hit=1
11. 3.415 268.083 ↑ 6.6 2,127 1

Hash Left Join (cost=3,127.08..6,862.22 rows=14,139 width=122) (actual time=231.034..268.083 rows=2,127 loops=1)

  • Output: parctit.dtvencimento, parctit.nrparcela, parctit.flsitpag, parctit.vlliquido, parctit.vlbruto, parctit.vlsaldo, parctit.cdempresa, parctit.cdparcelatitulo, titulo.cdcartao, titulo.cdpessoa, titulo.cdempresa, titulo.dsdocumento, titulo.dtlancamento, titulo.cdmoeda, titulo.cdtipodoccobranca, contacorrente.idnrconta, pessoa.dsnomepessoa, cartao.dscartao
  • Hash Cond: ((parctit.cdempresa = cartao.cdempresa) AND (titulo.cdcartao = cartao.cdcartao))
  • Buffers: shared hit=2345
12. 3.369 264.638 ↑ 6.6 2,127 1

Hash Left Join (cost=3,125.72..6,704.65 rows=14,139 width=110) (actual time=230.993..264.638 rows=2,127 loops=1)

  • Output: parctit.dtvencimento, parctit.nrparcela, parctit.flsitpag, parctit.vlliquido, parctit.vlbruto, parctit.vlsaldo, parctit.cdempresa, parctit.cdparcelatitulo, titulo.cdcartao, titulo.cdpessoa, titulo.cdempresa, titulo.dsdocumento, titulo.dtlancamento, titulo.cdmoeda, titulo.cdtipodoccobranca, contacorrente.idnrconta, pessoa.dsnomepessoa
  • Hash Cond: (titulo.cdpessoa = pessoa.cdpessoa)
  • Buffers: shared hit=2344
13. 3.349 259.367 ↑ 6.6 2,127 1

Hash Left Join (cost=3,072.94..6,457.45 rows=14,139 width=86) (actual time=229.082..259.367 rows=2,127 loops=1)

  • Output: parctit.dtvencimento, parctit.nrparcela, parctit.flsitpag, parctit.vlliquido, parctit.vlbruto, parctit.vlsaldo, parctit.cdempresa, parctit.cdparcelatitulo, titulo.cdcartao, titulo.cdpessoa, titulo.cdempresa, titulo.dsdocumento, titulo.dtlancamento, titulo.cdmoeda, titulo.cdtipodoccobranca, contacorrente.idnrconta
  • Hash Cond: ((parctit.cdempresa = contacorrente.cdempresa) AND (titulo.cdcontacorrente = contacorrente.cdcontacorrente))
  • Buffers: shared hit=2317
14. 6.189 255.996 ↑ 6.6 2,127 1

Hash Join (cost=3,071.72..6,208.80 rows=14,139 width=85) (actual time=229.040..255.996 rows=2,127 loops=1)

  • Output: parctit.dtvencimento, parctit.nrparcela, parctit.flsitpag, parctit.vlliquido, parctit.vlbruto, parctit.vlsaldo, parctit.cdempresa, parctit.cdparcelatitulo, titulo.cdcartao, titulo.cdpessoa, titulo.cdempresa, titulo.dsdocumento, titulo.dtlancamento, titulo.cdcontacorrente, titulo.cdmoeda, titulo.cdtipodoccobranca
  • Hash Cond: (parctit.cdtitulo = titulo.cdtitulo)
  • Buffers: shared hit=2316
15. 23.844 23.844 ↑ 6.7 2,182 1

Seq Scan on dah.parcelatitulo parctit (cost=0.00..2,812.15 rows=14,683 width=52) (actual time=3.032..23.844 rows=2,182 loops=1)

  • Output: parctit.cdparcelatitulo, parctit.cdtitulo, parctit.vlbruto, parctit.dtvencimento, parctit.vlsaldo, parctit.nranoref, parctit.nrmesref, parctit.flsitpag, parctit.dtapropriacao, parctit.flativo, parctit.cdempresa, parctit.nrparcela, parctit.vlliquido, parctit.flcancelado, parctit.dtcancelamento, parctit.cdusuariocanc, parctit.dsmotivocanc, parctit.flcartafrete, parctit.dslinhadigitavel, parctit.dscodbarras, parctit.dsnossonumero, parctit.flboleto, parctit.flcnab, parctit.cdcontacorrente, parctit.cdlotepgto, parctit.idnsu
  • Filter: ((parctit.dtvencimento >= '2011-05-01 00:00:00'::timestamp without time zone) AND (parctit.dtvencimento < '2012-04-23 00:00:00'::timestamp without time zone) AND (parctit.flsitpag = ANY ('{0,1}'::integer[])) AND (parctit.cdempresa = 1) AND (parctit.flcancelado = 0))
  • Buffers: shared hit=1189
16. 108.607 225.963 ↑ 1.0 69,225 1

Hash (cost=2,205.92..2,205.92 rows=69,264 width=41) (actual time=225.963..225.963 rows=69,225 loops=1)

  • Output: titulo.cdcartao, titulo.cdpessoa, titulo.cdempresa, titulo.dsdocumento, titulo.dtlancamento, titulo.cdtitulo, titulo.cdcontacorrente, titulo.cdmoeda, titulo.cdtipodoccobranca
  • Buckets: 8192 Batches: 1 Memory Usage: 5404kB
  • Buffers: shared hit=1127
17. 117.356 117.356 ↑ 1.0 69,225 1

Seq Scan on dah.titulo (cost=0.00..2,205.92 rows=69,264 width=41) (actual time=0.008..117.356 rows=69,225 loops=1)

  • Output: titulo.cdcartao, titulo.cdpessoa, titulo.cdempresa, titulo.dsdocumento, titulo.dtlancamento, titulo.cdtitulo, titulo.cdcontacorrente, titulo.cdmoeda, titulo.cdtipodoccobranca
  • Filter: ((titulo.cdempresa = 1) AND (titulo.flrecpag = 1))
  • Buffers: shared hit=1127
18. 0.011 0.022 ↑ 1.0 8 1

Hash (cost=1.10..1.10 rows=8 width=13) (actual time=0.022..0.022 rows=8 loops=1)

  • Output: contacorrente.idnrconta, contacorrente.cdcontacorrente, contacorrente.cdempresa
  • Buckets: 1024 Batches: 1 Memory Usage: 1kB
  • Buffers: shared hit=1
19. 0.011 0.011 ↑ 1.0 8 1

Seq Scan on dah.contacorrente (cost=0.00..1.10 rows=8 width=13) (actual time=0.004..0.011 rows=8 loops=1)

  • Output: contacorrente.idnrconta, contacorrente.cdcontacorrente, contacorrente.cdempresa
  • Filter: (contacorrente.cdempresa = 1)
  • Buffers: shared hit=1
20. 0.963 1.902 ↑ 1.0 1,146 1

Hash (cost=38.46..38.46 rows=1,146 width=28) (actual time=1.902..1.902 rows=1,146 loops=1)

  • Output: pessoa.dsnomepessoa, pessoa.cdpessoa
  • Buckets: 1024 Batches: 1 Memory Usage: 70kB
  • Buffers: shared hit=27
21. 0.939 0.939 ↑ 1.0 1,146 1

Seq Scan on dah.pessoa (cost=0.00..38.46 rows=1,146 width=28) (actual time=0.004..0.939 rows=1,146 loops=1)

  • Output: pessoa.dsnomepessoa, pessoa.cdpessoa
  • Buffers: shared hit=27
22. 0.014 0.030 ↑ 1.0 13 1

Hash (cost=1.16..1.16 rows=13 width=20) (actual time=0.030..0.030 rows=13 loops=1)

  • Output: cartao.dscartao, cartao.cdcartao, cartao.cdempresa
  • Buckets: 1024 Batches: 1 Memory Usage: 1kB
  • Buffers: shared hit=1
23. 0.016 0.016 ↑ 1.0 13 1

Seq Scan on dah.cartao (cost=0.00..1.16 rows=13 width=20) (actual time=0.004..0.016 rows=13 loops=1)

  • Output: cartao.dscartao, cartao.cdcartao, cartao.cdempresa
  • Filter: (cartao.cdempresa = 1)
  • Buffers: shared hit=1
24. 0.006 0.012 ↑ 1.0 3 1

Hash (cost=1.03..1.03 rows=3 width=8) (actual time=0.012..0.012 rows=3 loops=1)

  • Output: tipodoccobranca.florigem, tipodoccobranca.cdtipodoccobranca
  • Buckets: 1024 Batches: 1 Memory Usage: 1kB
  • Buffers: shared hit=1
25. 0.006 0.006 ↑ 1.0 3 1

Seq Scan on dah.tipodoccobranca (cost=0.00..1.03 rows=3 width=8) (actual time=0.003..0.006 rows=3 loops=1)

  • Output: tipodoccobranca.florigem, tipodoccobranca.cdtipodoccobranca
  • Buffers: shared hit=1
26.          

SubPlan (forHash Left Join)

27. 17.304 354.732 ↑ 1.0 1 4,326

Aggregate (cost=34.49..34.50 rows=1 width=12) (actual time=0.082..0.082 rows=1 loops=4,326)

  • Output: COALESCE(sum((pgtosparcela.vlvalor * (CASE WHEN (pgtosparcela.fllancplanodebcre = 0) THEN (-1) ELSE 1 END)::double precision)), 0::double precision)
  • Buffers: shared hit=33259
28. 104.082 337.428 ↓ 0.0 0 4,326

Hash Join (cost=12.03..34.48 rows=1 width=12) (actual time=0.078..0.078 rows=0 loops=4,326)

  • Output: pgtosparcela.vlvalor, pgtosparcela.fllancplanodebcre
  • Hash Cond: (parcope.cdparcelaoperacao = pgtosparcela.cdparcelaoperacao)
  • Buffers: shared hit=33259
29. 220.626 220.626 ↑ 3.6 28 4,326

Index Scan using ixparcopedtref on dah.parcelaoperacao parcope (cost=0.00..21.81 rows=101 width=4) (actual time=0.007..0.051 rows=28 loops=4,326)

  • Output: parcope.cdparcelaoperacao, parcope.cdparcelatitulo, parcope.dtreferencia, parcope.fltipooperacao, parcope.cdempresa, parcope.vlvalor, parcope.flcancelado, parcope.dhmovimento, parcope.flmovpdv, parcope.cdusuario
  • Index Cond: (parcope.dtreferencia = parctit.dtvencimento)
  • Filter: ((parcope.cdempresa = parctit.cdempresa) AND (parcope.fltipooperacao = 1))
  • Buffers: shared hit=28744
30. 5.300 12.720 ↑ 1.5 2 1,060

Hash (cost=11.99..11.99 rows=3 width=16) (actual time=0.012..0.012 rows=2 loops=1,060)

  • Output: pgtosparcela.vlvalor, pgtosparcela.fllancplanodebcre, pgtosparcela.cdparcelaoperacao
  • Buckets: 1024 Batches: 1 Memory Usage: 1kB
  • Buffers: shared hit=4515
31. 7.420 7.420 ↑ 1.5 2 1,060

Index Scan using ixlancpfcdpartit on dah.lancplanofin pgtosparcela (cost=0.00..11.99 rows=3 width=16) (actual time=0.004..0.007 rows=2 loops=1,060)

  • Output: pgtosparcela.vlvalor, pgtosparcela.fllancplanodebcre, pgtosparcela.cdparcelaoperacao
  • Index Cond: (pgtosparcela.cdparcelatitulo = parctit.cdparcelatitulo)
  • Buffers: shared hit=4515
32. 12.978 173.040 ↑ 1.0 1 4,326

Aggregate (cost=31.89..31.90 rows=1 width=12) (actual time=0.040..0.040 rows=1 loops=4,326)

  • Output: COALESCE(sum((estornoparcela.vlvalor * (CASE WHEN (estornoparcela.fllancplanodebcre = 0) THEN (-1) ELSE 1 END)::double precision)), 0::double precision)
  • Buffers: shared hit=36448
33. 20.178 160.062 ↓ 0.0 0 4,326

Nested Loop (cost=0.00..31.88 rows=1 width=12) (actual time=0.037..0.037 rows=0 loops=4,326)

  • Output: estornoparcela.vlvalor, estornoparcela.fllancplanodebcre
  • Buffers: shared hit=36448
34. 134.106 134.106 ↓ 0.0 0 4,326

Index Scan using ixparcopedtref on dah.parcelaoperacao parcope (cost=0.00..21.81 rows=1 width=4) (actual time=0.024..0.031 rows=0 loops=4,326)

  • Output: parcope.cdparcelaoperacao, parcope.cdparcelatitulo, parcope.dtreferencia, parcope.fltipooperacao, parcope.cdempresa, parcope.vlvalor, parcope.flcancelado, parcope.dhmovimento, parcope.flmovpdv, parcope.cdusuario
  • Index Cond: (parcope.dtreferencia = parctit.dtvencimento)
  • Filter: ((parcope.cdempresa = parctit.cdempresa) AND (parcope.fltipooperacao = 3))
  • Buffers: shared hit=28744
35. 5.778 5.778 ↓ 0.0 0 1,926

Index Scan using ixlancpfcdparope on dah.lancplanofin estornoparcela (cost=0.00..10.06 rows=1 width=16) (actual time=0.003..0.003 rows=0 loops=1,926)

  • Output: estornoparcela.cdlancplanofin, estornoparcela.cdlancestornado, estornoparcela.cdparcelatitulo, estornoparcela.cdplanoconta, estornoparcela.vlvalor, estornoparcela.fllancplanodebcre, estornoparcela.cdcentrocusto, estornoparcela.flativo, estornoparcela.cdempresa, estornoparcela.florigemlctoplano, estornoparcela.cdpagamentoparcela, estornoparcela.dtlancamento, estornoparcela.fltipolancamento, estornoparcela.cdmovimentocc, estornoparcela.flident, estornoparcela.flcancelado, estornoparcela.cdparcelaoperacao
  • Index Cond: (estornoparcela.cdparcelaoperacao = parcope.cdparcelaoperacao)
  • Filter: (estornoparcela.cdparcelatitulo = parctit.cdparcelatitulo)
  • Buffers: shared hit=7704
36. 17.304 34.608 ↑ 1.0 1 4,326

Aggregate (cost=8.46..8.47 rows=1 width=8) (actual time=0.007..0.008 rows=1 loops=4,326)

  • Output: max(paroper.dtreferencia)
  • Buffers: shared hit=18078
37. 17.304 17.304 ↓ 0.0 0 4,326

Index Scan using ixparopcdpartit on dah.parcelaoperacao paroper (cost=0.00..8.45 rows=1 width=8) (actual time=0.004..0.004 rows=0 loops=4,326)

  • Output: paroper.cdparcelaoperacao, paroper.cdparcelatitulo, paroper.dtreferencia, paroper.fltipooperacao, paroper.cdempresa, paroper.vlvalor, paroper.flcancelado, paroper.dhmovimento, paroper.flmovpdv, paroper.cdusuario
  • Index Cond: (paroper.cdparcelatitulo = parctit.cdparcelatitulo)
  • Filter: ((paroper.fltipooperacao = 1) AND (paroper.flcancelado = 0))
  • Buffers: shared hit=18078