explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Bbrw

Settings
# exclusive inclusive rows x rows loops node
1. 0.013 1,947.089 ↓ 4.0 4 1

Unique (cost=297.09..297.10 rows=1 width=132) (actual time=1,947.075..1,947.089 rows=4 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.026 1,947.076 ↓ 4.0 4 1

Sort (cost=297.09..297.09 rows=1 width=132) (actual time=1,947.072..1,947.076 rows=4 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.114 1,947.050 ↓ 4.0 4 1

Group (cost=296.81..297.08 rows=1 width=132) (actual time=1,946.983..1,947.050 rows=4 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.123 1,946.936 ↓ 22.0 22 1

Sort (cost=296.81..296.82 rows=1 width=100) (actual time=1,946.916..1,946.936 rows=22 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: 28kB
5. 37.644 1,946.813 ↓ 22.0 22 1

Nested Loop (cost=10.52..296.80 rows=1 width=100) (actual time=100.625..1,946.813 rows=22 loops=1)

  • Output: view_armazem_dados_basicos.cnpj_cpf, view_armazem_dados_basicos.armazenador
6. 0.115 30.501 ↓ 22.0 22 1

Nested Loop (cost=4.11..267.11 rows=1 width=12) (actual time=8.684..30.501 rows=22 loops=1)

  • Output: estoque.codigo_cda
7. 0.146 30.232 ↓ 22.0 22 1

Nested Loop (cost=4.11..266.05 rows=1 width=20) (actual time=8.677..30.232 rows=22 loops=1)

  • Output: estoque.codigo_cda, cnpj.programa_fk
  • Inner Unique: true
8. 0.169 29.834 ↓ 36.0 36 1

Nested Loop (cost=3.84..265.50 rows=1 width=20) (actual time=8.559..29.834 rows=36 loops=1)

  • Output: conta.cnpj_fk, estoque.codigo_cda
  • Inner Unique: true
  • Join Filter: (conta.fonte_fk = fonte.id)
9. 0.295 29.593 ↓ 36.0 36 1

Nested Loop (cost=3.84..264.34 rows=1 width=28) (actual time=8.554..29.593 rows=36 loops=1)

  • Output: conta.fonte_fk, conta.cnpj_fk, estoque.codigo_cda
  • Inner Unique: true
  • Join Filter: (conta.atividade_fk = atividade.id)
  • Rows Removed by Join Filter: 68
10. 7.077 29.154 ↓ 36.0 36 1

Nested Loop (cost=3.84..263.05 rows=1 width=36) (actual time=8.545..29.154 rows=36 loops=1)

  • Output: conta.atividade_fk, conta.fonte_fk, conta.cnpj_fk, estoque.codigo_cda
  • Inner Unique: true
11. 5.610 12.381 ↓ 323.2 3,232 1

Nested Loop (cost=3.57..260.12 rows=10 width=20) (actual time=0.542..12.381 rows=3,232 loops=1)

  • Output: estoque.conta_fk, estoque.codigo_cda
12. 0.023 0.023 ↑ 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=0.019..0.023 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.320 6.748 ↓ 269.3 3,232 1

Bitmap Heap Scan on sigest.tb_estoque estoque (cost=3.29..257.50 rows=12 width=28) (actual time=0.517..6.748 rows=3,232 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)
  • Filter: (estoque.codigo_cda IS NOT NULL)
  • Rows Removed by Filter: 15
  • Heap Blocks: exact=716
14. 0.428 0.428 ↓ 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=0.427..0.428 rows=3,279 loops=1)

  • Index Cond: (estoque.produto_fk = produto.id)
15. 9.696 9.696 ↓ 0.0 0 3,232

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.003..0.003 rows=0 loops=3,232)

  • 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
16. 0.144 0.144 ↑ 4.3 3 36

Seq Scan on sigest.tb_atividade atividade (cost=0.00..1.13 rows=13 width=8) (actual time=0.002..0.004 rows=3 loops=36)

  • Output: atividade.id, atividade.codigo, atividade.nome
17. 0.072 0.072 ↑ 7.0 1 36

Seq Scan on sigest.tb_fonte fonte (cost=0.00..1.07 rows=7 width=8) (actual time=0.002..0.002 rows=1 loops=36)

  • Output: fonte.id, fonte.codigo, fonte.nome
18. 0.252 0.252 ↑ 1.0 1 36

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=0.007..0.007 rows=1 loops=36)

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

Seq Scan on sigest.tb_programa programa (cost=0.00..1.05 rows=1 width=8) (actual time=0.002..0.007 rows=1 loops=22)

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

Foreign Scan on public.vw_armazem_dados_basicos view_armazem_dados_basicos (cost=6.41..29.68 rows=1 width=132) (actual time=85.393..85.394 rows=1 loops=22)

  • 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 : 203.567 ms
Execution time : 1,948.989 ms