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
