explain.depesz.com

PostgreSQL's explain analyze made readable

Result: urcP

Settings
# exclusive inclusive rows x rows loops node
1. 0.052 149,710.114 ↑ 1.0 1 1

Limit (cost=10.59..11.14 rows=1 width=826) (actual time=149,710.065..149,710.114 rows=1 loops=1)

  • Output: conta.uf_fk, cnpj.programa_fk, conta.atividade_fk, conta.fonte_fk, programa.nome, atividade.nome, fonte.nome, (CASE WHEN (length(btrim((agente.cpf_cnpj)::text)) > 11) THEN sigest.fc_formatar(agente.cpf_cnpj, 'cnpj'::character varying) ELSE sigest.fc_formatar(agente.cpf_cnpj, 'CPF'::character varying) END), endereco_agente.inscricao_estadual, cnpj.unidade_gestora_centralizadora, adb.cda, produto.codigo, uf.nome, produto.nome, ((((produto.codigo)::text || ' - '::text) || (produto.nome)::text)), estoque.id, estoque.codigo_cpr, adb.status, programa.codigo, atividade.codigo, fonte.codigo
2. 6.012 149,710.062 ↑ 5,941,039.0 1 1

Nested Loop (cost=10.59..3,242,432.81 rows=5,941,039 width=826) (actual time=149,710.060..149,710.062 rows=1 loops=1)

  • Output: conta.uf_fk, cnpj.programa_fk, conta.atividade_fk, conta.fonte_fk, programa.nome, atividade.nome, fonte.nome, CASE WHEN (length(btrim((agente.cpf_cnpj)::text)) > 11) THEN sigest.fc_formatar(agente.cpf_cnpj, 'cnpj'::character varying) ELSE sigest.fc_formatar(agente.cpf_cnpj, 'CPF'::character varying) END, endereco_agente.inscricao_estadual, cnpj.unidade_gestora_centralizadora, adb.cda, produto.codigo, uf.nome, produto.nome, (((produto.codigo)::text || ' - '::text) || (produto.nome)::text), estoque.id, estoque.codigo_cpr, adb.status, programa.codigo, atividade.codigo, fonte.codigo
3. 0.009 149,702.164 ↑ 832.0 1 1

Nested Loop (cost=8.44..191,218.13 rows=832 width=294) (actual time=149,702.163..149,702.164 rows=1 loops=1)

  • Output: estoque.id, estoque.codigo_cpr, produto.codigo, produto.nome, conta.uf_fk, conta.atividade_fk, conta.fonte_fk, cnpj.programa_fk, cnpj.unidade_gestora_centralizadora, programa.nome, programa.codigo, atividade.nome, atividade.codigo, fonte.nome, fonte.codigo, vinculo.agente_corporativo_fk, uf.nome, agente.cpf_cnpj, agente.id, adb.cda, adb.status
4. 0.011 149,700.624 ↑ 277.0 1 1

Nested Loop Left Join (cost=6.28..188,766.40 rows=277 width=254) (actual time=149,700.623..149,700.624 rows=1 loops=1)

  • Output: estoque.id, estoque.codigo_cpr, produto.codigo, produto.nome, conta.uf_fk, conta.atividade_fk, conta.fonte_fk, cnpj.programa_fk, cnpj.unidade_gestora_centralizadora, programa.nome, programa.codigo, atividade.nome, atividade.codigo, fonte.nome, fonte.codigo, vinculo.agente_corporativo_fk, uf.nome, adb.cda, adb.status
5. 0.005 149,682.099 ↑ 250.0 1 1

Nested Loop (cost=1.00..174,690.90 rows=250 width=202) (actual time=149,682.097..149,682.099 rows=1 loops=1)

  • Output: estoque.id, estoque.codigo_cpr, estoque.codigo_cda, produto.codigo, produto.nome, conta.uf_fk, conta.atividade_fk, conta.fonte_fk, cnpj.programa_fk, cnpj.unidade_gestora_centralizadora, programa.nome, programa.codigo, atividade.nome, atividade.codigo, fonte.nome, fonte.codigo, vinculo.agente_corporativo_fk, uf.nome
6. 0.032 149,680.154 ↑ 250.0 1 1

Nested Loop (cost=0.00..174,685.42 rows=250 width=163) (actual time=149,680.152..149,680.154 rows=1 loops=1)

  • Output: estoque.id, estoque.codigo_cpr, estoque.codigo_cda, produto.codigo, produto.nome, conta.uf_fk, conta.atividade_fk, conta.fonte_fk, cnpj.programa_fk, cnpj.unidade_gestora_centralizadora, programa.nome, programa.codigo, atividade.nome, atividade.codigo, fonte.nome, fonte.codigo, vinculo.agente_corporativo_fk
  • Inner Unique: true
  • Join Filter: (estoque.produto_fk = produto.id)
  • Rows Removed by Join Filter: 31
7. 0.851 149,679.953 ↑ 250.0 1 1

Nested Loop (cost=0.00..165,577.57 rows=250 width=119) (actual time=149,679.952..149,679.953 rows=1 loops=1)

  • Output: estoque.id, estoque.codigo_cpr, estoque.produto_fk, estoque.codigo_cda, conta.uf_fk, conta.atividade_fk, conta.fonte_fk, cnpj.programa_fk, cnpj.unidade_gestora_centralizadora, programa.nome, programa.codigo, atividade.nome, atividade.codigo, fonte.nome, fonte.codigo, vinculo.agente_corporativo_fk
  • Join Filter: (conta.id = estoque.conta_fk)
  • Rows Removed by Join Filter: 362
8. 15.017 93.803 ↑ 1.0 1 1

Nested Loop (cost=0.00..21,455.42 rows=1 width=88) (actual time=93.802..93.803 rows=1 loops=1)

  • Output: conta.uf_fk, conta.atividade_fk, conta.fonte_fk, conta.id, cnpj.programa_fk, cnpj.unidade_gestora_centralizadora, programa.nome, programa.codigo, atividade.nome, atividade.codigo, fonte.nome, fonte.codigo, vinculo.agente_corporativo_fk
  • Inner Unique: true
  • Join Filter: (cnpj.vinculo_sigest_fk = vinculo.id)
  • Rows Removed by Join Filter: 18585
9. 0.003 0.377 ↑ 1.0 1 1

Nested Loop (cost=0.00..27.49 rows=1 width=88) (actual time=0.375..0.377 rows=1 loops=1)

  • Output: conta.uf_fk, conta.atividade_fk, conta.fonte_fk, conta.id, cnpj.programa_fk, cnpj.unidade_gestora_centralizadora, cnpj.vinculo_sigest_fk, programa.nome, programa.codigo, atividade.nome, atividade.codigo, fonte.nome, fonte.codigo
10. 0.003 0.346 ↑ 1.0 1 1

Nested Loop (cost=0.00..26.39 rows=1 width=80) (actual time=0.344..0.346 rows=1 loops=1)

  • Output: conta.uf_fk, conta.atividade_fk, conta.fonte_fk, conta.id, cnpj.programa_fk, cnpj.unidade_gestora_centralizadora, cnpj.vinculo_sigest_fk, programa.nome, programa.codigo, atividade.nome, atividade.codigo
11. 0.003 0.283 ↑ 1.0 1 1

Nested Loop (cost=0.00..25.22 rows=1 width=61) (actual time=0.282..0.283 rows=1 loops=1)

  • Output: conta.uf_fk, conta.atividade_fk, conta.fonte_fk, conta.id, cnpj.programa_fk, cnpj.unidade_gestora_centralizadora, cnpj.vinculo_sigest_fk, programa.nome, programa.codigo
12. 0.010 0.231 ↑ 1.0 1 1

Nested Loop (cost=0.00..24.16 rows=1 width=49) (actual time=0.229..0.231 rows=1 loops=1)

  • Output: conta.uf_fk, conta.atividade_fk, conta.fonte_fk, conta.id, cnpj.programa_fk, cnpj.unidade_gestora_centralizadora, cnpj.vinculo_sigest_fk
  • Inner Unique: true
  • Join Filter: (conta.cnpj_fk = cnpj.id)
  • Rows Removed by Join Filter: 3
13. 0.167 0.167 ↑ 1.0 1 1

Seq Scan on sigest.tb_conta conta (cost=0.00..14.47 rows=1 width=35) (actual time=0.166..0.167 rows=1 loops=1)

  • Output: conta.id, conta.uf_fk, conta.cnpj_fk, conta.atividade_fk, conta.fonte_fk, conta.pgpm, conta.estoque_por_preco, conta.controlar_validade, conta.id_antigo, conta.uf_antigo
  • Filter: ((conta.atividade_fk = 11) AND (conta.fonte_fk = 2) AND ((conta.uf_fk)::text = 'PR'::text))
  • Rows Removed by Filter: 244
14. 0.054 0.054 ↑ 6.8 4 1

Seq Scan on sigest.tb_cnpj cnpj (cost=0.00..9.35 rows=27 width=30) (actual time=0.047..0.054 rows=4 loops=1)

  • Output: cnpj.id, cnpj.programa_fk, cnpj.vinculo_sigest_fk, cnpj.documento_fiscal_fk, cnpj.documento_fiscal_scan_fk, cnpj.numero_nota, cnpj.numero_nota_scan, cnpj.data_movimentacao, cnpj.data_escrituracao, cnpj.paginacao_registro_entrada, cnpj.paginacao_registro_saida, cnpj.paginacao_registro_apuracao_fiscal, cnpj.paginacao_registro_inventario, cnpj.orgao_centralizador, cnpj.sub_orgao_centralizador, cnpj.unidade_gestora_centralizadora, cnpj.legislacao_fiscal, cnpj.emitir_nota_fiscal_homologacao, cnpj.id_antigo, cnpj.uf_antigo, cnpj.numero_nota_no, cnpj.numero_nota_nli
  • Filter: (cnpj.programa_fk = 4)
  • Rows Removed by Filter: 7
15. 0.049 0.049 ↑ 1.0 1 1

Seq Scan on sigest.tb_programa programa (cost=0.00..1.05 rows=1 width=20) (actual time=0.048..0.049 rows=1 loops=1)

  • Output: programa.id, programa.codigo, programa.nome, programa.descricao
  • Filter: (programa.id = 4)
  • Rows Removed by Filter: 3
16. 0.060 0.060 ↑ 1.0 1 1

Seq Scan on sigest.tb_atividade atividade (cost=0.00..1.16 rows=1 width=27) (actual time=0.058..0.060 rows=1 loops=1)

  • Output: atividade.id, atividade.codigo, atividade.nome
  • Filter: (atividade.id = 11)
  • Rows Removed by Filter: 10
17. 0.028 0.028 ↑ 1.0 1 1

Seq Scan on sigest.tb_fonte fonte (cost=0.00..1.09 rows=1 width=16) (actual time=0.026..0.028 rows=1 loops=1)

  • Output: fonte.id, fonte.codigo, fonte.nome
  • Filter: (fonte.id = 2)
  • Rows Removed by Filter: 1
18. 78.409 78.409 ↑ 21.1 18,586 1

Seq Scan on sigest.tb_vinculo_sigest vinculo (cost=0.00..16,535.75 rows=391,375 width=16) (actual time=12.791..78.409 rows=18,586 loops=1)

  • Output: vinculo.id, vinculo.agente_corporativo_fk, vinculo.fantasia, vinculo.fisica_juridica, vinculo.produtor_rural, vinculo.transportadora, vinculo.contribuinte, vinculo.conab, vinculo.optante, vinculo.suframa, vinculo.ix_endereco_principal, vinculo.id_antigo, vinculo.uf_antigo, vinculo.tipo_tributacao
19. 149,585.299 149,585.299 ↑ 1,331.9 363 1

Seq Scan on sigest.tb_estoque estoque (cost=0.00..138,078.66 rows=483,479 width=47) (actual time=397.751..149,585.299 rows=363 loops=1)

  • Output: estoque.id, estoque.conta_fk, estoque.produto_fk, estoque.codigo_cda, estoque.codigo_cpr, estoque.safra, estoque.classificacao, estoque.acondicionamento, estoque.unidade_medida, estoque.lote, estoque.ean, estoque.data_validade, estoque.data_distribuicao, estoque.data_fabricacao, estoque.valor_unitario, estoque.valor_unitario_sede, estoque.custo_liquido, estoque.custo_liquido_sede, estoque.volume, estoque.volume_sede, estoque.quantidade, estoque.quantidade_sede, estoque.quantidade_reservado, estoque.status, estoque.data_fechamento, estoque.rendimento, estoque.fechado, estoque.id_antigo, estoque.uf_antigo, estoque.libera_estoque_data_vencida, estoque.codigo_contrato
  • Filter: (sigest.fc_valor_kardex_estoque(estoque.id, (to_char(('2019-08-09'::date)::timestamp with time zone, 'YYYY-mm-dd'::text))::character varying, 'quantidade'::character varying) <> '0'::numeric)
  • Rows Removed by Filter: 477981
20. 0.093 0.169 ↑ 74.6 32 1

Materialize (cost=0.00..158.82 rows=2,388 width=60) (actual time=0.057..0.169 rows=32 loops=1)

  • Output: produto.codigo, produto.nome, produto.id
21. 0.076 0.076 ↑ 74.6 32 1

Seq Scan on sigest.tb_produto produto (cost=0.00..146.88 rows=2,388 width=60) (actual time=0.026..0.076 rows=32 loops=1)

  • Output: produto.codigo, produto.nome, produto.id
22. 0.005 1.940 ↑ 1.0 1 1

Materialize (cost=1.00..2.36 rows=1 width=13) (actual time=1.939..1.940 rows=1 loops=1)

  • Output: uf.nome, uf.sigla
23. 1.935 1.935 ↑ 1.0 1 1

Foreign Scan on public.tb_uf uf (cost=1.00..2.35 rows=1 width=13) (actual time=1.933..1.935 rows=1 loops=1)

  • Output: uf.nome, uf.sigla
  • Remote SQL: SELECT sigla, nome FROM public.tb_uf WHERE ((sigla::text = 'PR'::text))
24. 18.514 18.514 ↑ 2.0 1 1

Foreign Scan on public.vw_armazem_dados_basicos_sem_contato adb (cost=5.28..56.28 rows=2 width=64) (actual time=18.513..18.514 rows=1 loops=1)

  • Output: adb.idarmazem, adb.cda, adb.cda_formatado, adb.lat, adb.lon, adb.id_meso, adb.nome_meso, adb.micro_regiao_fk, adb.cnpj_cpf, adb.idarmazenador, adb.armazenador, adb.endereco, adb.bairro, adb.idmunicipio, adb.municipio, adb.uf, adb.cep, adb.inscricao_estadual, adb.codigo_empresa, adb.especie, adb.tipo, adb.formapiso, adb.situacao, adb.cap, adb.polocompra, adb.polosatelite, adb.contratoativo, adb.status
  • Remote SQL: SELECT cda, status FROM public.vw_armazem_dados_basicos_sem_contato WHERE ((cda::text = $1::character varying(11)::text))
25. 1.531 1.531 ↑ 1.0 1 1

Foreign Scan on public.vw_agente agente (cost=2.16..8.84 rows=1 width=40) (actual time=1.529..1.531 rows=1 loops=1)

  • Output: agente.id, agente.nome, agente.nome_fantasia, agente.cpf_cnpj
  • Remote SQL: SELECT id, cpf_cnpj FROM public.vw_agente WHERE (($1::bigint = id))
26. 1.886 1.886 ↑ 1.0 1 1

Foreign Scan on public.vw_endereco_agente endereco_agente (cost=2.15..7.72 rows=1 width=15) (actual time=1.884..1.886 rows=1 loops=1)

  • Output: endereco_agente.id, endereco_agente.endereco, endereco_agente.numero, endereco_agente.bairro, endereco_agente.complemento, endereco_agente.cep, endereco_agente.inscricao_estadual, endereco_agente.municipio, endereco_agente.codigo_ibge, endereco_agente.uf, endereco_agente.agente_fk, endereco_agente.email, endereco_agente.telefone
  • Remote SQL: SELECT inscricao_estadual, agente_fk FROM public.vw_endereco_agente WHERE (($1::bigint = agente_fk))
Planning time : 684.653 ms
Execution time : 149,734.927 ms