2014-12-05 16:12 GMT-02:00 Fernando Nadir da Silveira <[email protected]>:

> Separando agora ficou muito melhor para entender, mais ainda não entendo
> porque usa planos diferente, estou me afundando mais.
>
> Analyse separado
>
>
> https://docs.google.com/document/d/1uORyqq1-miicVPsUR9d_dF1iIjOQgqVLmZ5krHaPpH0/edit?usp=sharing
>


Realmente, esse fica mais fácil pra entender, já que aí está o ponto mais
problemático.

Antes de mais nada, execute um ANALYZE nas tabelas, principalmente
"itenstabela". Não faz sentido comparar sem isso, podemos ficar dando
voltas sem sentido.

Se não funcionar, tem mais alguns pontos. Primeiro eu tentaria reduzir o
effective_cache_size de produção para o mesmo valor de desenvolvimento e
ver se ajuda. Você pode fazer isso diretamente na sessão usando o comando:

    SET effective_cache_size TO '4GB';

E logo em seguida executando a query (pode ser um EXPLAIN simples, para ver
se o plano é alterado). Eu também tentaria alterar um pouco os custos,
primeiramente cpu_tuple_cost=0.1. Veja se melhora com estes (um de cada
vez) e poste o resultado.

Outro ponto que percebi é que o shared_buffers pode estar muito alto em
produção, há uma explicação? Tudo bem que não creio que faria muito
diferença para o caso em questão, já que este é relativo à um plano não
ótimo. Mas me pareceu suspeito.

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a