Patrick Espake wrote: > Eu rodei o Vacuum em todas as tabelas (não sei bem o que esse cara faz). > Depois de rodar o Vacuum o desempenho melhorou bastante, a consulta > ficou mais rápido. > Analisando o explain analyze [1], parece-me que as tabelas estão com as estatísticas desatualizadas ou o default_statistics_target das tabelas é muito pequeno. Esta máquina é exclusiva p/ PostgreSQL? Se sim, faça os seguintes ajustes: (i) shared_buffers = 250MB (ii) effective_cache_size = 600MB
São somente configurações empíricas, mas já dá para começar com alguma coisa. Depois disso, execute o EXPLAIN ANALYZE para ver se alterou alguma coisa. Se a consulta continua inalterada (estatística ruins), sugiro que tente rever os LEFT JOINs das consultas. Todos eles são necessários? Tem alguns deles que podem ser INNER JOINs? Execute o EXPLAIN ANALYZE novamente. Se a consulta continua inalterada (estatística ruins), o problema é a quantidade de amostras da estatística das tabelas. Tente: ALTER TABLE foo ALTER coluna SET STATISTICS inteiro Onde inteiro pode ser 100 a 1000 (dependendo do número de valores variados existentes na sua tabela). Sugiro começar com 100 e ir aumentando gradativamente. Volte a publicar o EXPLAIN ANALYZE da consulta e o que foi feito, caso não tenha tido sucesso. É interessante que poste a quantidade de registros das tabelas que aparecem em vermelho ou amarelo em [2]. [1] http://explain-analyze.info/query_plans/1698-test-1 [2] http://explain-analyze.info/ -- 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
