Pessoal estou executando a seguinte consulta(segue abaixo)  com o resultado
de explain(segue abaixo) a tabela possui a mesma quantidade de registros
1.000.000, ambas possuem indices para os campos de juncao e campos da
condicao.

Porem o valor de Nested Loop esta alto.Teria algo que possa ser feito para
melhorar isto?



"Limit  (cost=0.00..22827.32 rows=10000 width=39)"
"  ->  Nested Loop  (cost=0.00..760910.00 rows=333333 width=39)"
"        Join Filter: (a.datahora_processamento > b.datahora_processamento)"
"        ->  Seq Scan on cnpj_rf b  (cost=0.00..24554.00 rows=1000000
width=23)"
"        ->  Index Scan using cnpjkey on ecnpj_teste_repro a
(cost=0.00..0.72 rows=1 width=39)"
"              Index Cond: (a.cnpj = (b.cnpj)::bpchar)"
"              Filter: ((a.flag_processamento = 22) AND (a.flag_relacional =
0))"

   select
    a.cnpj as cnpj_atual,
    cdmatriz_changed ,
    data_abertura_changed,
    razao_social_changed ,
    fantasia_changed,
    cdnatureza_changed,
    logradouro_changed,
    numero_changed,
    complemento_changed,
    cep_changed,
    bairro_changed,
    municipio_changed,
    uf_changed,
    cdsitcadastral_changed,
    cdmotivosituacao_changed,
    cdsitcadastralesp_changed,
    cnaes_changed,
    a.datahora_processamento as data_atual


   from   ecnpj_teste_repro  a left join cnpj_rf  b
    on a.cnpj=b.cnpj


    where  a.flag_processamento=22 and a.flag_relacional=0 and
a.datahora_processamento > b.datahora_processamento

          LIMIT 10000
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a