Sem o comando sql completo fica dificil, mas se entendi o problema,
por que voce não coloca o sum(valor) no select e faz o order by sem sum?
 
Marcio

  _____  

De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Em nome de Rodrigo
Monteiro
Enviada em: terça-feira, 16 de setembro de 2008 10:29
Para: [email protected]
Cc: [EMAIL PROTECTED]
Assunto: [pgbr-geral] banco de dados de sistema postgresql com 4GB!



Bom dia a todos. 

Vou tentar ser claro na minha explanação do problema. Tem haver com o
desempenho do Postgresql com banco de dados com 4GB de tamanho, com duzentas
tabelas e a tabela que recebe os dados das vendas dos pdv's com 55 campos.
De cinco lojas com 12 frentes de caixa cada uma. 

Eu trabalho com um sistema intranet em PHP com banco de dados postgresql,
versão 8.2 
a base de um determinado cliente já alcançou 4GB de tamanho e não pára de
crescer, é uma rede de varejo e são muitas movimentações diárias, existe um
servidor IBM dedicado para o banco de dados, só que o problema está na hora
de gerar relatórios gerenciais, este cliente utiliza muita curva abc para
tomada de decisão e ele pode escolher 3 tipos de ordenação para o abc de
vendas, por quantidade, por valor ou por lucratividade, se, por exemplo, o
diretor da empresa pedir um relatório gerencial agrupado por fornecedor e
ordenado por um periodo de movimentação (dtmovto), vai até um pouco mais
rápido, já que eu coloquei indice para este campo (aliás, uma pesquisa em
ordem por data do movimento demorava 4 minutos para trazer 629 registros,
com o indice caiu para 5 segundos!!!!!!). O problema é que quando ele pede
ordenado ou por valor (sum(valorvenda)), por
quantidade(sum(quantidadevendida)) ou por
lucratividade(sum(valorvenda-custocontabil)) no order by o campo vai assim, 

'order by sum(valor) desc' 

me parece qque não importa se o campo tem indice ou não, demora muito para
trazer a informação, considerando que os testes eu tenho feito são em uma
máquina aqui na empresa dedicada a este teste e que no cliente o tempo é
muito maior pela quantidade de processos executados simultaneamente. 
GOSTARIA DE SABER SE EXISTE ALGUM TIPO DE "INDICE TEMPORARIO" PARA CAMPOS
SOMADOS? O que eu tenho que verificar para melhorar a performance do meu
banco de dados? Eu tenho uma versão para Sql Server que está em testes e que
já demonstrou muito mais agilidade.


Agradeço antecipadamente a atenção de vocês!

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

Responder a