Mozart Hasse escreveu: > O otimizador do Postgres costuma fazer péssimas escolhas em tabelas > grandes quando o default_statistics_target é muito baixo. Cansei de ver ele > apanhar mais do que cão sem dono do SQL Server por escolher planos ridículos > quando deixei esse valor padrão. > O valor padrão para este parâmetro é medíocre mesmo. Já houve várias discussões sobre aumentar este valor para um valor mais condizente com a realidade mas por falta de provas (aka testes) -- que isso não aumentará o tempo de planejamento para ter o mesmo benefício -- ainda não decidiram se vão aumentá-lo na próxima versão.
> Deixe seu default_statistics_target=1000 e veja se melhora. > Não faça isso! As consultas que utilizam uma coluna com o parâmetro com esse valor vão demorar bem mais para serem planejadas desnecessariamente sem falar em mais trabalho para o ANALYZE. Dependendo da distribuição dos valores da coluna e da quantidade de valores distintos valores até no máximo 150 ou 200 são suficientes; normalmente, utilize entre 30 e 100 para tabelas maiores *e* que não estejam estimando o número de tuplas retornadas próximo do valor exato (um EXPLAIN ANALYZE pode te dizer isso). -- Euler Taveira de Oliveira http://www.timbira.com/ _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral