explain.depesz.com

PostgreSQL's explain analyze made readable

Result: xF64P

Settings
# exclusive inclusive rows x rows loops node
1. 0.168 0.950 ↓ 5.0 5 1

GroupAggregate (cost=59.59..79.29 rows=1 width=1,882) (actual time=0.754..0.950 rows=5 loops=1)

  • Group Key: v.id, ((COALESCE(COALESCE(fp.nome, COALESCE(fpf.nome, fpv.nome)), fpi.nome))::character varying(255)), (COALESCE(COALESCE(cm.forma_pagamento_id, COALESCE(f.forma_pagamento_id, vfp.forma_pagamento_venda_id)), fip.forma_pagamento_id)), (COALESCE(fip.parcelas, 1)), (COALESCE(f.vencimento, COALESCE(fip.vencimento, COALESCE(fi.vencimento, v.data_venda)))), (COALESCE(cm.cheque_numero, fip.cheque_numero)), p.nome, f.financeiro_id, (COALESCE(COALESCE(cm.autorizacao_cartao, vfp.autorizacao_cartao), fip.autorizacao_cartao)), (COALESCE(COALESCE(cm.cartao_operadora, vfp.cartao_operadora), fip.operadora)), (COALESCE(COALESCE(cm.cartao_ultimos_digitos, vfp.cartao_ultimos_digitos), fip.cartao_ultimos_digitos)), fi.tipo, (COALESCE(cm.documento, fip.documento)), vendedor.nome, intermediario.nome, fip.financeiro_item_pagamento_id, c.descricao, (COALESCE(fip.cliente_fornecedor, fi.cliente_fornecedor)), e.nome, ((CASE (f.liquidacao IS NULL) WHEN CASE_TEST_EXPR THEN COALESCE((f.observacoes)::text, (fip.detalhes)::text) ELSE ''::text END)::character varying(255)), (COALESCE(cm.banco, (fip.banco)::bpchar)), (COALESCE(cm.cpf_cnpj, fip.cpf_cnpj))
2. 0.083 0.567 ↓ 10.0 10 1

Sort (cost=59.59..59.59 rows=1 width=1,884) (actual time=0.565..0.567 rows=10 loops=1)

  • Sort Key: v.id, ((COALESCE(COALESCE(fp.nome, COALESCE(fpf.nome, fpv.nome)), fpi.nome))::character varying(255)), (COALESCE(COALESCE(cm.forma_pagamento_id, COALESCE(f.forma_pagamento_id, vfp.forma_pagamento_venda_id)), fip.forma_pagamento_id)), (COALESCE(fip.parcelas, 1)), (COALESCE(f.vencimento, COALESCE(fip.vencimento, COALESCE(fi.vencimento, v.data_venda)))), (COALESCE(cm.cheque_numero, fip.cheque_numero)), p.nome, f.financeiro_id, (COALESCE(COALESCE(cm.autorizacao_cartao, vfp.autorizacao_cartao), fip.autorizacao_cartao)), (COALESCE(COALESCE(cm.cartao_operadora, vfp.cartao_operadora), fip.operadora)), (COALESCE(COALESCE(cm.cartao_ultimos_digitos, vfp.cartao_ultimos_digitos), fip.cartao_ultimos_digitos)), fi.tipo, (COALESCE(cm.documento, fip.documento)), vendedor.nome, intermediario.nome, fip.financeiro_item_pagamento_id, c.descricao, (COALESCE(fip.cliente_fornecedor, fi.cliente_fornecedor)), e.nome, ((CASE (f.liquidacao IS NULL) WHEN CASE_TEST_EXPR THEN COALESCE((f.observacoes)::text, (fip.detalhes)::text) ELSE ''::text END)::character varying(255)), (COALESCE(cm.banco, (fip.banco)::bpchar)), (COALESCE(cm.cpf_cnpj, fip.cpf_cnpj))
  • Sort Method: quicksort Memory: 28kB
3. 0.026 0.484 ↓ 10.0 10 1

Nested Loop Left Join (cost=5.09..59.58 rows=1 width=1,884) (actual time=0.221..0.484 rows=10 loops=1)

4. 0.007 0.430 ↓ 7.0 7 1

Nested Loop Left Join (cost=4.82..59.15 rows=1 width=1,321) (actual time=0.206..0.430 rows=7 loops=1)

5. 0.008 0.409 ↓ 7.0 7 1

Nested Loop Left Join (cost=4.54..58.70 rows=1 width=1,315) (actual time=0.194..0.409 rows=7 loops=1)

6. 0.045 0.387 ↓ 7.0 7 1

Nested Loop Left Join (cost=4.27..58.16 rows=1 width=1,315) (actual time=0.182..0.387 rows=7 loops=1)

  • Join Filter: (fpv.forma_pagamento_venda_id = vfp.forma_pagamento_venda_id)
  • Rows Removed by Join Filter: 7
7. 0.004 0.300 ↓ 7.0 7 1

Nested Loop Left Join (cost=4.27..56.95 rows=1 width=1,197) (actual time=0.155..0.300 rows=7 loops=1)

  • Join Filter: (f.liquidacao IS NULL)
8. 0.007 0.282 ↓ 7.0 7 1

Nested Loop Left Join (cost=3.99..56.64 rows=1 width=1,159) (actual time=0.148..0.282 rows=7 loops=1)

9. 0.017 0.275 ↓ 7.0 7 1

Nested Loop Left Join (cost=3.86..56.43 rows=1 width=1,081) (actual time=0.146..0.275 rows=7 loops=1)

10. 0.009 0.258 ↓ 7.0 7 1

Nested Loop Left Join (cost=3.58..56.09 rows=1 width=894) (actual time=0.143..0.258 rows=7 loops=1)

11. 0.007 0.249 ↓ 7.0 7 1

Nested Loop Left Join (cost=3.31..47.78 rows=1 width=888) (actual time=0.139..0.249 rows=7 loops=1)

12. 0.007 0.221 ↓ 7.0 7 1

Nested Loop Left Join (cost=3.03..39.48 rows=1 width=866) (actual time=0.126..0.221 rows=7 loops=1)

13. 0.008 0.214 ↓ 7.0 7 1

Nested Loop Left Join (cost=2.90..39.31 rows=1 width=788) (actual time=0.123..0.214 rows=7 loops=1)

14. 0.007 0.206 ↓ 7.0 7 1

Nested Loop Left Join (cost=2.76..39.15 rows=1 width=686) (actual time=0.120..0.206 rows=7 loops=1)

15. 0.007 0.178 ↓ 7.0 7 1

Nested Loop Left Join (cost=2.48..38.79 rows=1 width=518) (actual time=0.108..0.178 rows=7 loops=1)

16. 0.013 0.171 ↓ 7.0 7 1

Nested Loop Left Join (cost=2.34..38.63 rows=1 width=440) (actual time=0.105..0.171 rows=7 loops=1)

  • Filter: (COALESCE((f.cancelado)::bpchar, '0'::bpchar) = '0'::bpchar)
17. 0.004 0.130 ↓ 3.5 7 1

Nested Loop (cost=2.06..35.55 rows=2 width=361) (actual time=0.092..0.130 rows=7 loops=1)

18. 0.003 0.102 ↓ 2.0 2 1

Nested Loop (cost=1.78..34.89 rows=1 width=313) (actual time=0.079..0.102 rows=2 loops=1)

19. 0.003 0.087 ↓ 2.0 2 1

Nested Loop (cost=1.50..33.75 rows=1 width=307) (actual time=0.068..0.087 rows=2 loops=1)

20. 0.001 0.074 ↓ 2.0 2 1

Nested Loop (cost=1.23..33.39 rows=1 width=307) (actual time=0.060..0.074 rows=2 loops=1)

21. 0.004 0.067 ↓ 2.0 2 1

Nested Loop (cost=0.96..25.08 rows=1 width=285) (actual time=0.055..0.067 rows=2 loops=1)

22. 0.002 0.055 ↓ 2.0 2 1

Nested Loop (cost=0.82..24.90 rows=1 width=183) (actual time=0.046..0.055 rows=2 loops=1)

23. 0.007 0.043 ↓ 2.0 2 1

Nested Loop (cost=0.55..16.59 rows=1 width=177) (actual time=0.037..0.043 rows=2 loops=1)

24. 0.024 0.024 ↑ 1.0 1 1

Index Scan using idx_data_venda on vendas v (cost=0.27..8.29 rows=1 width=90) (actual time=0.021..0.024 rows=1 loops=1)

  • Index Cond: (data_venda = '2019-09-27'::date)
25. 0.012 0.012 ↓ 2.0 2 1

Index Scan using idx_vendas_produtos_vendas_id on vendas_produtos vpr (cost=0.27..8.29 rows=1 width=103) (actual time=0.010..0.012 rows=2 loops=1)

  • Index Cond: (vendas_id = v.id)
26. 0.010 0.010 ↑ 1.0 1 2

Index Scan using pk_pessoa on pessoa p (cost=0.28..8.29 rows=1 width=38) (actual time=0.005..0.005 rows=1 loops=2)

  • Index Cond: (pessoa_id = v.pagante_id)
27. 0.008 0.008 ↑ 1.0 1 2

Index Scan using pk_produtos on produtos pr (cost=0.14..0.18 rows=1 width=134) (actual time=0.004..0.004 rows=1 loops=2)

  • Index Cond: (id = vpr.produto_id)
28. 0.006 0.006 ↑ 1.0 1 2

Index Scan using pk_pessoa on pessoa e (cost=0.28..8.29 rows=1 width=38) (actual time=0.003..0.003 rows=1 loops=2)

  • Index Cond: (pessoa_id = v.empresa_id)
29. 0.010 0.010 ↑ 1.0 1 2

Index Scan using pk_fornecimento on fornecimento fn (cost=0.27..0.36 rows=1 width=32) (actual time=0.005..0.005 rows=1 loops=2)

  • Index Cond: (fornecimento_id = vpr.fornecimento_id)
30. 0.012 0.012 ↑ 1.0 1 2

Index Scan using pk_pessoa on pessoa pf (cost=0.28..1.13 rows=1 width=38) (actual time=0.006..0.006 rows=1 loops=2)

  • Index Cond: (pessoa_id = fn.fornecedor_id)
31. 0.024 0.024 ↓ 4.0 4 2

Index Scan using idx_financeiro_item_vendas_produtos_id on financeiro_item fi (cost=0.28..0.66 rows=1 width=64) (actual time=0.007..0.012 rows=4 loops=2)

  • Index Cond: (vendas_produtos_id = vpr.vendas_produtos_id)
  • Filter: ((tipo <> 'SAL'::bpchar) AND (tipo <> 'RMB'::bpchar) AND (cliente_fornecedor = 'C'::bpchar))
  • Rows Removed by Filter: 1
32. 0.028 0.028 ↑ 1.0 1 7

Index Scan using pk_financeiro on financeiro f (cost=0.28..1.53 rows=1 width=97) (actual time=0.004..0.004 rows=1 loops=7)

  • Index Cond: (fi.financeiro_id = financeiro_id)
33. 0.000 0.000 ↓ 0.0 0 7

Index Scan using pk_forma_pagamento on forma_pagamento fpf (cost=0.14..0.16 rows=1 width=94) (actual time=0.000..0.000 rows=0 loops=7)

  • Index Cond: (f.forma_pagamento_id = forma_pagamento_id)
34. 0.021 0.021 ↓ 0.0 0 7

Index Scan using idx_conta_movimento_financeiro_id on conta_movimento cm (cost=0.28..0.35 rows=1 width=184) (actual time=0.003..0.003 rows=0 loops=7)

  • Index Cond: (financeiro_id = f.financeiro_id)
35. 0.000 0.000 ↓ 0.0 0 7

Index Scan using pk_conta on conta c (cost=0.14..0.16 rows=1 width=134) (actual time=0.000..0.000 rows=0 loops=7)

  • Index Cond: (conta_id = cm.conta_id)
36. 0.000 0.000 ↓ 0.0 0 7

Index Scan using pk_forma_pagamento on forma_pagamento fp (cost=0.14..0.16 rows=1 width=94) (actual time=0.000..0.000 rows=0 loops=7)

  • Index Cond: (cm.forma_pagamento_id = forma_pagamento_id)
37. 0.021 0.021 ↑ 1.0 1 7

Index Scan using pk_pessoa on pessoa vendedor (cost=0.28..8.29 rows=1 width=38) (actual time=0.003..0.003 rows=1 loops=7)

  • Index Cond: (v.vendedor_id = pessoa_id)
38. 0.000 0.000 ↓ 0.0 0 7

Index Scan using pk_pessoa on pessoa intermediario (cost=0.28..8.29 rows=1 width=38) (actual time=0.000..0.000 rows=0 loops=7)

  • Index Cond: (v.intermediario_id = pessoa_id)
39. 0.000 0.000 ↓ 0.0 0 7

Index Scan using pk_financeiro_item_cartao on financeiro_item_pagamento fip (cost=0.27..0.34 rows=1 width=203) (actual time=0.000..0.000 rows=0 loops=7)

  • Index Cond: (fi.financeiro_item_pagamento_id = financeiro_item_pagamento_id)
40. 0.000 0.000 ↓ 0.0 0 7

Index Scan using pk_forma_pagamento on forma_pagamento fpi (cost=0.14..0.20 rows=1 width=94) (actual time=0.000..0.000 rows=0 loops=7)

  • Index Cond: (fip.forma_pagamento_id = forma_pagamento_id)
41. 0.014 0.014 ↓ 0.0 0 7

Index Scan using idx_vendas_pagamentos_financeiro_id on vendas_pagamentos vfp (cost=0.27..0.30 rows=1 width=54) (actual time=0.002..0.002 rows=0 loops=7)

  • Index Cond: (financeiro_id = f.financeiro_id)
  • Filter: (forma_pagamento_venda_id = '13b49005-3505-40c0-8043-978813f9c941'::uuid)
42. 0.042 0.042 ↑ 1.0 1 7

Seq Scan on forma_pagamento_venda fpv (cost=0.00..1.20 rows=1 width=134) (actual time=0.006..0.006 rows=1 loops=7)

  • Filter: (forma_pagamento_venda_id = '13b49005-3505-40c0-8043-978813f9c941'::uuid)
  • Rows Removed by Filter: 15
43. 0.014 0.014 ↓ 0.0 0 7

Index Scan using pk_representacao on representacao r (cost=0.28..0.54 rows=1 width=32) (actual time=0.002..0.002 rows=0 loops=7)

  • Index Cond: (vpr.representacao_id = representacao_id)
44. 0.014 0.014 ↓ 0.0 0 7

Index Scan using pk_pessoa on pessoa rp (cost=0.28..0.44 rows=1 width=38) (actual time=0.002..0.002 rows=0 loops=7)

  • Index Cond: (r.representante_id = pessoa_id)
45. 0.028 0.028 ↑ 2.0 1 7

Index Scan using idx_trecho_aereo_vendas_produtos_id on trecho_aereo sta (cost=0.28..0.41 rows=2 width=40) (actual time=0.003..0.004 rows=1 loops=7)

  • Index Cond: (vendas_produtos_id = vpr.vendas_produtos_id)
46.          

SubPlan (for GroupAggregate)

47. 0.045 0.215 ↑ 1.0 1 5

Aggregate (cost=19.55..19.56 rows=1 width=32) (actual time=0.043..0.043 rows=1 loops=5)

48. 0.000 0.170 ↓ 3.0 3 5

Nested Loop Left Join (cost=4.84..19.54 rows=1 width=22) (actual time=0.022..0.034 rows=3 loops=5)

49. 0.060 0.125 ↓ 3.0 3 5

Nested Loop (cost=4.56..18.86 rows=1 width=16) (actual time=0.017..0.025 rows=3 loops=5)

50. 0.025 0.025 ↓ 2.0 2 5

Index Scan using idx_vendas_produtos_vendas_id on vendas_produtos vp (cost=0.27..8.29 rows=1 width=16) (actual time=0.005..0.005 rows=2 loops=5)

  • Index Cond: (vendas_id = v.id)
51. 0.020 0.040 ↑ 1.0 2 10

Bitmap Heap Scan on vendas_produtos_passageiros vpp (cost=4.29..10.55 rows=2 width=32) (actual time=0.003..0.004 rows=2 loops=10)

  • Recheck Cond: (vendas_produtos_id = vp.vendas_produtos_id)
  • Heap Blocks: exact=10
52. 0.020 0.020 ↑ 1.0 2 10

Bitmap Index Scan on idx_vendas_produtos_passageiros_vendas_produtos_id (cost=0.00..4.29 rows=2 width=0) (actual time=0.002..0.002 rows=2 loops=10)

  • Index Cond: (vendas_produtos_id = vp.vendas_produtos_id)
53. 0.045 0.045 ↑ 1.0 1 15

Index Scan using pk_pessoa on pessoa pa (cost=0.28..0.68 rows=1 width=38) (actual time=0.003..0.003 rows=1 loops=15)

  • Index Cond: (pessoa_id = vpp.pessoa_id)