O curioso eh que a juncao do join esta sendo feito por dois campos com pk,
em um ele usa o indice da pk e no outro nao.E mesmo para os outros campos do
where tambem  tem indices .


Em 17 de março de 2010 17:04, JotaComm <jota.c...@gmail.com> escreveu:

> Opa,
>
> Em 17 de março de 2010 17:01, Tiago Valério <tiagosvale...@gmail.com>escreveu:
>
>  Ja tinha feito isto antes de dar o explain porem na duvida fiz novamente
>> e a saida foi a mesma
>>
>> "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))"
>>
>> Olhando rapidamente, o problema me parece na leitura sequencial que esta
> acontecendo na tabela cnpj_rf, acredito que um índice nesta tabela deve
> resolver o problema.
>
>>
>> Em 17 de março de 2010 16:55, JotaComm <jota.c...@gmail.com> escreveu:
>>
>> Olá,
>>>
>>>
>>> Em 17 de março de 2010 16:51, Tiago Valério 
>>> <tiagosvale...@gmail.com>escreveu:
>>>
>>>  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?
>>>>
>>>
>>> Quando foi a última vez que rodou o ANALYZE?
>>>
>>>>
>>>>
>>>>
>>>> "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
>>>> pgbr-geral@listas.postgresql.org.br
>>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>>
>>>>
>>>
>>> []s
>>> --
>>> JotaComm
>>> http://jotacomm.wordpress.com
>>>
>>> _______________________________________________
>>> pgbr-geral mailing list
>>> pgbr-geral@listas.postgresql.org.br
>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>
>>>
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>>
>
> []s
> --
> JotaComm
> http://jotacomm.wordpress.com
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to