On Thu, 18 Sep 2008 09:33:59 -0300, "Rodrigo Monteiro"
<[EMAIL PROTECTED]> wrote:

> No relatório tem o código do fornecedor e como eles não querem a curva
> abc com nomes de fornecedores repetidos eu capturo o maior código, que
> logicamente é o fornecedor mais ativo. O sistema é em PHP, e os
> relatórios de curva abc tem saida em pdf e xls, era usada uma classe
para
> criar o relatório, antes eu não poderia simplesmente tirar o código do
> fornecedor do relatório, só que agora eu consegui modificar a classe!
> Então, seguindo as recomendações deste pessoal fantástico do fórum
eu
> já posso retirar o max() do select.

É sempre culpa da modelagem :)

> Volpato escreveu:
>> PS:
>> - quanto de memória vc tem ?
> Aqui no escritório eu tenho 1 gb, no cliente eu preciso confirmar, algo
> entre 2 e 3 gb
> 
> 
>> - quanto de shared_buffers está setado no postgresql.conf?
>> - quanto de work_mem ?
> 
> # - Memory -
> 
> shared_buffers = 1000                 # min 16 or max_connections*2, 8KB each
> #work_mem = 1024                      # min 64, size in KB
> #maintenance_work_mem = 16384         # min 1024, size in KB

Arrá, configurações padrão... elas não servem pra ninguém.
Com 1G , você pode setar:
shared_buffers = 25600          # 200MB = 200*1024/8 (mem ativa)
maintenance_work_mem = 131072   # 128MB = 128*1024 (mem do vacuum)
work_mem = 65536                # 64MB = 64*1024 (mem do order by)

Para 2GB, multiplique por 2 ...

Muito importante: veja se o parâmetro "max_connections" 
equivale a tua realidade.
Se tiver o padrão, são 100 conexões. Pelo jeito, 
você precisa de menos.
Se você não configurar direito, teu banco pode cair
por falta de memória. 
Imagine que os 64MB de work_mem são multiplicados pela 
quantidade de usuários fazendo "order by" naquele momento ...

[]´s, ACV




_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a