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