explain.depesz.com

PostgreSQL's explain analyze made readable

Result: U9Sl

Settings
# exclusive inclusive rows x rows loops node
1. 0.009 6,960.803 ↓ 2.0 2 1

Unique (cost=329.22..329.24 rows=1 width=132) (actual time=6,960.795..6,960.803 rows=2 loops=1)

  • Output: view_armazem_dados_basicos.cnpj_cpf, view_armazem_dados_basicos.armazenador, ((((sigest.fc_formatar(view_armazem_dados_basicos.cnpj_cpf, 'cnpj'::character varying))::text || ' - '::text) || (view_armazem_dados_basicos.armazenador)::text))
2. 0.020 6,960.794 ↓ 2.0 2 1

Sort (cost=329.22..329.23 rows=1 width=132) (actual time=6,960.792..6,960.794 rows=2 loops=1)

  • Output: view_armazem_dados_basicos.cnpj_cpf, view_armazem_dados_basicos.armazenador, ((((sigest.fc_formatar(view_armazem_dados_basicos.cnpj_cpf, 'cnpj'::character varying))::text || ' - '::text) || (view_armazem_dados_basicos.armazenador)::text))
  • Sort Key: view_armazem_dados_basicos.armazenador, view_armazem_dados_basicos.cnpj_cpf, ((((sigest.fc_formatar(view_armazem_dados_basicos.cnpj_cpf, 'cnpj'::character varying))::text || ' - '::text) || (view_armazem_dados_basicos.armazenador)::text))
  • Sort Method: quicksort Memory: 25kB
3. 0.051 6,960.774 ↓ 2.0 2 1

Group (cost=328.95..329.21 rows=1 width=132) (actual time=6,960.760..6,960.774 rows=2 loops=1)

  • Output: view_armazem_dados_basicos.cnpj_cpf, view_armazem_dados_basicos.armazenador, (((sigest.fc_formatar(view_armazem_dados_basicos.cnpj_cpf, 'cnpj'::character varying))::text || ' - '::text) || (view_armazem_dados_basicos.armazenador)::text)
  • Group Key: view_armazem_dados_basicos.armazenador, view_armazem_dados_basicos.cnpj_cpf
4. 0.022 6,960.723 ↓ 2.0 2 1

Sort (cost=328.95..328.95 rows=1 width=100) (actual time=6,960.720..6,960.723 rows=2 loops=1)

  • Output: view_armazem_dados_basicos.cnpj_cpf, view_armazem_dados_basicos.armazenador
  • Sort Key: view_armazem_dados_basicos.armazenador, view_armazem_dados_basicos.cnpj_cpf
  • Sort Method: quicksort Memory: 25kB
5. 2.090 6,960.701 ↓ 2.0 2 1

Nested Loop (cost=282.59..328.94 rows=1 width=100) (actual time=6,605.661..6,960.701 rows=2 loops=1)

  • Output: view_armazem_dados_basicos.cnpj_cpf, view_armazem_dados_basicos.armazenador
6. 0.020 6,598.473 ↓ 2.0 2 1

Nested Loop (cost=276.18..299.25 rows=1 width=12) (actual time=6,399.286..6,598.473 rows=2 loops=1)

  • Output: estoque.codigo_cda
7. 0.020 6,598.417 ↓ 2.0 2 1

Nested Loop (cost=276.18..298.19 rows=1 width=20) (actual time=6,399.264..6,598.417 rows=2 loops=1)

  • Output: estoque.codigo_cda, cnpj.programa_fk
  • Inner Unique: true
8. 0.017 6,589.649 ↓ 2.0 2 1

Nested Loop (cost=275.91..297.64 rows=1 width=20) (actual time=6,390.516..6,589.649 rows=2 loops=1)

  • Output: conta.cnpj_fk, estoque.codigo_cda
  • Inner Unique: true
9. 0.018 6,580.920 ↓ 2.0 2 1

Nested Loop (cost=275.78..297.33 rows=1 width=28) (actual time=6,381.800..6,580.920 rows=2 loops=1)

  • Output: conta.cnpj_fk, conta.fonte_fk, estoque.codigo_cda
  • Inner Unique: true
10. 0.362 6,570.364 ↓ 2.0 2 1

Nested Loop (cost=275.64..297.03 rows=1 width=36) (actual time=6,371.258..6,570.364 rows=2 loops=1)

  • Output: estoque.codigo_cda, conta.cnpj_fk, conta.atividade_fk, conta.fonte_fk
  • Inner Unique: true
11. 0.344 6,563.090 ↓ 10.8 108 1

Nested Loop (cost=275.37..294.11 rows=10 width=20) (actual time=4,901.238..6,563.090 rows=108 loops=1)

  • Output: estoque.codigo_cda, estoque.conta_fk
12. 17.309 17.309 ↑ 1.0 1 1

Index Scan using idx_tb_produto_codigo on sigest.tb_produto produto (cost=0.28..2.50 rows=1 width=8) (actual time=17.305..17.309 rows=1 loops=1)

  • Output: produto.id, produto.produto_corporativo_fk, produto.seguro_fk, produto.sobre_taxa_fk, produto.retencao_tributo_fk, produto.codigo, produto.nome_produto_corporativo, produto.nome, produto.nomenclatura_comum_mercosul, produto.sacaria, produto.peso, produto.safra, produto.umidade, produto.pgpm, produto.controla_validade, produto.controla_ean, produto.rendimento_minimo, produto.id_antigo, produto.uf_antigo, produto.codigo_servico_fk, produto.servico, produto.tipo_servico, produto.unidade_medida_servico, produto.descricao_unidade_cobranca, produto.fator_conversao_unidade_cobranca
  • Index Cond: ((produto.codigo)::text = '000220002'::text)
  • Filter: ("substring"((produto.codigo)::text, 1, 5) = '00022'::text)
13. 6,328.675 6,545.437 ↓ 9.0 108 1

Bitmap Heap Scan on sigest.tb_estoque estoque (cost=275.09..291.48 rows=12 width=28) (actual time=4,883.903..6,545.437 rows=108 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
  • Recheck Cond: ((estoque.produto_fk = produto.id) AND (estoque.codigo_cda IS NOT NULL))
  • Filter: (sigest.fc_valor_kardex_estoque(estoque.id, (to_char(('2019-08-08'::date)::timestamp with time zone, 'YYYY-mm-dd'::text))::character varying, 'quantidade'::character varying) <> '0'::numeric)
  • Rows Removed by Filter: 3124
  • Heap Blocks: exact=703
14. 0.089 216.762 ↓ 0.0 0 1

BitmapAnd (cost=275.09..275.09 rows=12 width=0) (actual time=216.761..216.762 rows=0 loops=1)

15. 164.065 164.065 ↓ 14.0 3,279 1

Bitmap Index Scan on idx_tb_estoque_produto_fk (cost=0.00..3.28 rows=235 width=0) (actual time=164.064..164.065 rows=3,279 loops=1)

  • Index Cond: (estoque.produto_fk = produto.id)
16. 52.608 52.608 ↑ 1.0 24,458 1

Bitmap Index Scan on idx_tb_estoque_codigo_cda_text (cost=0.00..265.46 rows=24,485 width=0) (actual time=52.607..52.608 rows=24,458 loops=1)

  • Index Cond: (estoque.codigo_cda IS NOT NULL)
17. 6.912 6.912 ↓ 0.0 0 108

Index Only Scan using idx_conta_id_cnpj_fk_uf_fk_atividade_fk_fonte_fk on sigest.tb_conta conta (cost=0.27..0.29 rows=1 width=32) (actual time=0.064..0.064 rows=0 loops=108)

  • Output: conta.id, conta.cnpj_fk, conta.uf_fk, conta.atividade_fk, conta.fonte_fk
  • Index Cond: ((conta.id = estoque.conta_fk) AND (conta.uf_fk = 'ES'::text))
  • Heap Fetches: 0
18. 10.538 10.538 ↑ 1.0 1 2

Index Only Scan using pk_tb_atividade on sigest.tb_atividade atividade (cost=0.14..0.27 rows=1 width=8) (actual time=5.269..5.269 rows=1 loops=2)

  • Output: atividade.id
  • Index Cond: (atividade.id = conta.atividade_fk)
  • Heap Fetches: 0
19. 8.712 8.712 ↑ 1.0 1 2

Index Only Scan using pk_tb_fonte on sigest.tb_fonte fonte (cost=0.13..0.27 rows=1 width=8) (actual time=4.356..4.356 rows=1 loops=2)

  • Output: fonte.id
  • Index Cond: (fonte.id = conta.fonte_fk)
  • Heap Fetches: 0
20. 8.748 8.748 ↑ 1.0 1 2

Index Only Scan using idx_cnpj_id_programa_fk on sigest.tb_cnpj cnpj (cost=0.27..0.53 rows=1 width=16) (actual time=4.374..4.374 rows=1 loops=2)

  • Output: cnpj.id, cnpj.programa_fk
  • Index Cond: ((cnpj.id = conta.cnpj_fk) AND (cnpj.programa_fk = 2))
  • Heap Fetches: 2
21. 0.036 0.036 ↑ 1.0 1 2

Seq Scan on sigest.tb_programa programa (cost=0.00..1.05 rows=1 width=8) (actual time=0.010..0.018 rows=1 loops=2)

  • Output: programa.id, programa.codigo, programa.nome, programa.descricao
  • Filter: (programa.id = 2)
  • Rows Removed by Filter: 3
22. 360.138 360.138 ↑ 1.0 1 2

Foreign Scan on public.vw_armazem_dados_basicos view_armazem_dados_basicos (cost=6.41..29.68 rows=1 width=132) (actual time=180.066..180.069 rows=1 loops=2)

  • Output: view_armazem_dados_basicos.idarmazem, view_armazem_dados_basicos.cda, view_armazem_dados_basicos.cda_formatado, view_armazem_dados_basicos.lat, view_armazem_dados_basicos.lon, view_armazem_dados_basicos.id_meso, view_armazem_dados_basicos.nome_meso, view_armazem_dados_basicos.micro_regiao_fk, view_armazem_dados_basicos.cnpj_cpf, view_armazem_dados_basicos.idarmazenador, view_armazem_dados_basicos.armazenador, view_armazem_dados_basicos.endereco, view_armazem_dados_basicos.bairro, view_armazem_dados_basicos.idmunicipio, view_armazem_dados_basicos.municipio, view_armazem_dados_basicos.uf, view_armazem_dados_basicos.cep, view_armazem_dados_basicos.inscricao_estadual, view_armazem_dados_basicos.telefone, view_armazem_dados_basicos.celular, view_armazem_dados_basicos.fax, view_armazem_dados_basicos.codigo_empresa, view_armazem_dados_basicos.especie, view_armazem_dados_basicos.tipo, view_armazem_dados_basicos.formapiso, view_armazem_dados_basicos.situacao, view_armazem_dados_basicos.cap, view_armazem_dados_basicos.polocompra, view_armazem_dados_basicos.polosatelite, view_armazem_dados_basicos.contratoativo, view_armazem_dados_basicos.status
  • Remote SQL: SELECT cda, cnpj_cpf, armazenador FROM public.vw_armazem_dados_basicos WHERE ((NOT polocompra)) AND ((status = 'ATIVO'::text)) AND (($1::character varying(11) = cda))
Planning time : 315.783 ms
Execution time : 6,962.807 ms