Patrick Espake wrote:

> Eu dei uma olhada http://explain-analyze.info/query_plans/1698-test-1
> As linhas em vermelho é o que deve ser melhorado? Elas significam que 
> existe muita perda de desempenho?
> O que significa as linhas em amarelo?
> 
Linha em vermelho significa que é muito ruim, ou seja, a diferença entre 
o estimado e o real é muito discrepante. Amarelo é o intermediário entre 
o vermelho e o branco (estimativas razoáveis). Por exemplo:

GroupAggregate (cost=2009.67..2010.01 rows=3 width=643) (actual 
time=10.677..11.608 rows=51 loops=1)

São retornados 51 registros mas o PostgreSQL conseguiu estimar somente 3 
registros.


> Será que mesmo assim vale a pena mexer no: shared_buffers e 
> effective_cache_size? Atualmente esse dois parâmetros estão setados com 
> o valor 1000, o parâmetro effective_cache_size  está comentado.
> 
1000 = 1000Kb é muito pouco. Utilize pelo menos 100MB. Quanto ao 
effective_cache_size pode ser generoso com ele. Sugiro que utilize 
256MB. Ele vai ajudar a melhor as estimativas.

> Usando INNER JOIN a performace melhora muito?
> 
Isso não é sempre verdade. Se você puder utilizar um INNER JOIN utilize; 
você vai ajudar o planejador a escolher um plano melhor para sua consulta.

> Eu vi o pessoal comentando bastante sobre o COUNT, MAX e MIN da minha 
> consulta, usar essas três funções perdem muito desempenho? Será que é 
> melhor fazer consultas separadas para obter esses caras?
> 
Evitar o uso desnecessário de funções de agregação é sempre uma boa 
ainda mais em sistemas que utilizam o MVCC. Mas antes que você tente 
reescrever a consulta faça as mudanças que falei.


-- 
   Euler Taveira de Oliveira
   http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a