explain.depesz.com

PostgreSQL's explain analyze made readable

Result: k1pP

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

GroupAggregate (cost=372.12..372.22 rows=1 width=1,682) (actual rows= loops=)

  • 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.000 0.000 ↓ 0.0

Sort (cost=372.12..372.12 rows=1 width=1,671) (actual rows= loops=)

  • 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))
3. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8.54..372.11 rows=1 width=1,671) (actual rows= loops=)

  • Join Filter: (fpv.forma_pagamento_venda_id = vfp.forma_pagamento_venda_id)
4. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8.54..370.89 rows=1 width=975) (actual rows= loops=)

  • Join Filter: (f.liquidacao IS NULL)
5. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8.12..370.35 rows=1 width=939) (actual rows= loops=)

  • Join Filter: (fip.forma_pagamento_id = fpi.forma_pagamento_id)
6. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8.12..368.99 rows=1 width=861) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=7.84..368.69 rows=1 width=703) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=7.56..360.39 rows=1 width=698) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=7.27..352.08 rows=1 width=677) (actual rows= loops=)

  • Join Filter: (cm.forma_pagamento_id = fp.forma_pagamento_id)
10. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=7.27..350.72 rows=1 width=599) (actual rows= loops=)

  • Join Filter: (c.conta_id = cm.conta_id)
11. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=7.27..348.55 rows=1 width=497) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6.85..348.03 rows=1 width=366) (actual rows= loops=)

  • Join Filter: (f.forma_pagamento_id = fpf.forma_pagamento_id)
13. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6.85..346.67 rows=1 width=288) (actual rows= loops=)

  • Filter: (COALESCE((f.cancelado)::bpchar, '0'::bpchar) = '0'::bpchar)
14. 0.000 0.000 ↓ 0.0

Nested Loop (cost=6.43..323.96 rows=32 width=164) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Nested Loop (cost=6.01..307.60 rows=22 width=132) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Nested Loop (cost=5.73..287.70 rows=22 width=148) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Nested Loop (cost=5.44..280.96 rows=22 width=148) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Nested Loop (cost=5.30..277.43 rows=22 width=164) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.86..130.83 rows=9 width=116) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Index Scan using pk_pessoa on pessoa e (cost=0.29..8.30 rows=1 width=37) (actual rows= loops=)

  • Index Cond: (pessoa_id = '175589fb-5eaf-4c5a-934a-6e55c546ac2d'::uuid)
21. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.57..122.43 rows=9 width=95) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Index Scan using idx_data_venda on vendas v (cost=0.29..47.69 rows=9 width=90) (actual rows= loops=)

  • Index Cond: ((data_venda >= '2019-09-27'::date) AND (data_venda <= '2019-09-27'::date))
  • Filter: ((situacao = ANY ('{A,F}'::bpchar[])) AND (empresa_id = '175589fb-5eaf-4c5a-934a-6e55c546ac2d'::uuid))
23. 0.000 0.000 ↓ 0.0

Index Scan using pk_pessoa on pessoa p (cost=0.29..8.30 rows=1 width=37) (actual rows= loops=)

  • Index Cond: (pessoa_id = v.pagante_id)
24. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on vendas_produtos vpr (cost=4.44..16.26 rows=3 width=80) (actual rows= loops=)

  • Recheck Cond: (vendas_id = v.id)
25. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on idx_vendas_produtos_vendas_id (cost=0.00..4.44 rows=3 width=0) (actual rows= loops=)

  • Index Cond: (vendas_id = v.id)
26. 0.000 0.000 ↓ 0.0

Index Only Scan using pk_produtos on produtos pr (cost=0.14..0.16 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = vpr.produto_id)
27. 0.000 0.000 ↓ 0.0

Index Scan using pk_fornecimento on fornecimento fn (cost=0.28..0.31 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (fornecimento_id = vpr.fornecimento_id)
28. 0.000 0.000 ↓ 0.0

Index Only Scan using pk_pessoa on pessoa pf (cost=0.29..0.90 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (pessoa_id = fn.fornecedor_id)
29. 0.000 0.000 ↓ 0.0

Index Scan using idx_financeiro_item_vendas_produtos_id on financeiro_item fi (cost=0.42..0.72 rows=2 width=64) (actual rows= loops=)

  • Index Cond: (vendas_produtos_id = vpr.vendas_produtos_id)
  • Filter: ((tipo <> 'SAL'::bpchar) AND (tipo <> 'RMB'::bpchar) AND (cliente_fornecedor = 'C'::bpchar))
30. 0.000 0.000 ↓ 0.0

Index Scan using pk_financeiro on financeiro f (cost=0.42..0.70 rows=1 width=142) (actual rows= loops=)

  • Index Cond: (fi.financeiro_id = financeiro_id)
31. 0.000 0.000 ↓ 0.0

Seq Scan on forma_pagamento fpf (cost=0.00..1.16 rows=16 width=94) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Index Scan using idx_conta_movimento_financeiro_id on conta_movimento cm (cost=0.42..0.51 rows=1 width=147) (actual rows= loops=)

  • Index Cond: (financeiro_id = f.financeiro_id)
33. 0.000 0.000 ↓ 0.0

Seq Scan on conta c (cost=0.00..1.52 rows=52 width=134) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Seq Scan on forma_pagamento fp (cost=0.00..1.16 rows=16 width=94) (actual rows= loops=)

35. 0.000 0.000 ↓ 0.0

Index Scan using pk_pessoa on pessoa vendedor (cost=0.29..8.30 rows=1 width=37) (actual rows= loops=)

  • Index Cond: (v.vendedor_id = pessoa_id)
36. 0.000 0.000 ↓ 0.0

Index Scan using pk_pessoa on pessoa intermediario (cost=0.29..8.30 rows=1 width=37) (actual rows= loops=)

  • Index Cond: (v.intermediario_id = pessoa_id)
37. 0.000 0.000 ↓ 0.0

Index Scan using pk_financeiro_item_cartao on financeiro_item_pagamento fip (cost=0.28..0.30 rows=1 width=174) (actual rows= loops=)

  • Index Cond: (fi.financeiro_item_pagamento_id = financeiro_item_pagamento_id)
38. 0.000 0.000 ↓ 0.0

Seq Scan on forma_pagamento fpi (cost=0.00..1.16 rows=16 width=94) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Index Scan using idx_vendas_pagamentos_financeiro_id on vendas_pagamentos vfp (cost=0.41..0.53 rows=1 width=52) (actual rows= loops=)

  • Index Cond: (financeiro_id = f.financeiro_id)
  • Filter: (forma_pagamento_venda_id = '13b49005-3505-40c0-8043-978813f9c941'::uuid)
40. 0.000 0.000 ↓ 0.0

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

  • Filter: (forma_pagamento_venda_id = '13b49005-3505-40c0-8043-978813f9c941'::uuid)