José Carlos Messias escreveu: > Galera, > > Acredito que resolvendo o problema do nosso amigo, de repente resolva > o meu também, há um mês aproximadamente também postei uma dúvida > semelhante e as dicas para melhorar a performance até agora foram > muito parecidas, usar o analyze na consulta, criar indices, aumentar > work_mem com o comando set, etc. > > Estou para fazer uma migração de um sistema do mssql para o > postgresql, mas ainda estou com este problema de quando usa muitos > joins ou views na consulta ela simplesmente demora um tempão e as > vezes nem retorna os dados, reescrevi alguns sqls e melhorou um pouco, > mas tem mais alguns sqls que vou tentar contornar criando outras > tabelas e usando trigger para tentar contornar. > > Tentei aumentar as configurações do postgresql ao máximo para ele no > mínimo usar swap do linux, não consegui, ou ele tem outro controle > quando excede a memoria que está nos arquivos de configuraçao? > > Meu servidor Posgresql 8.1 está num Dell Poweredge 2900, 2 proc xeon, > 4gb de ram e raid 5 com 3 hds, antes da migração ainda vou aumentar a > memória para 8gb e trocar o raid5 para raid10, pra ver se consigo > alguma otimização, e acredito que fazer migração para a versão 8.3 no > momento vai trazer outros problemas que ainda não estou tendo. > > Vou continuar acompanhando a lista, estudando e fazendo testes para > obter o sucesso almejado, com a ajuda de vocês, claro.... > > > > > > > > > 2008/9/17 <[EMAIL PROTECTED]>: >> Se suas consultas utilizam muitos agrupamentos experimente aumentar o >> parametro work_mem >> >>> On Wed, 17 Sep 2008 17:13:56 -0300, "Rodrigo Monteiro" >>> <[EMAIL PROTECTED]> wrote: >>>> boa tarde Volpato >>>> >>>> Mais uma vez cara, muito obrigado pelo seu tempo. >>> tamos aí! >>> >>>> Como eu gero este explain que vc me disse? >>> Rode a query: >>> explain analyze select lalala ... >>> >>> Este comando vai rodar a tua query, e mostrar o que >>> o postgres está fazendo internamente. A partir daí, >>> vamos poder dizer se os índices estão sendo usados, >>> e quanto tempo a ordenação está demorando. >>> >>> PS: Faça este comando duas vezes, e mande a segunda. >>> Isto garante que os dados estejam em cache. >>> >>> >>>> No caso do order by com max() é porque a curvaabc tem como critério ou >>>> quantidade, ou valor, ou lucratividade(preco-custo), o que me deram como >>>> dica seria criar uma tabela e jogar estes valores lá já calculados e a >>>> partir dela criar a query da curvaabc >>> Pelo que eu vi, teu order by é com sum(totItem), ou >>> coisa parecida. >>> O max() estava em um campo do select, tente remover >>> esta função e adicionar o campo no group by. >>> >>>> e o reindex? você pode me dizer o que posso fazer? >>> Basicamente, deixe agendado pra rodar o comando >>> reindexdb nome_da_base. >>> Veja a doc: >>> http://www.postgresql.org/docs/8.3/static/sql-reindex.html >>> >>> >>> PS: >>> - quanto de memória vc tem ? >>> - quanto de shared_buffers está setado no postgresql.conf? >>> - quanto de work_mem ? >>> >>> >>> []´s, ACV >>> >>> >>> _______________________________________________ >>> pgbr-geral mailing list >>> [email protected] >>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >>> >> _______________________________________________ >> pgbr-geral mailing list >> [email protected] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> >>
Estranho vcs reclamarem de performance tenho um base em pg com 4GB postgresql 8.2.6 em um Core 2 Duo com raid1 via gmirror (FreeBSD 6.2), 4G de RAM , 1.096 tabelas e é um foguete. _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
