Rodrigo Monteiro wrote:
> Bom dia a todos.
> 
> 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'*

        Vejamos, como fica a performance da consulta sem a ordenação? Se ficar 
melhor, será que não seria conveniente jogar o valor da consulta sem 
ordenação para uma tabela temporária e depois recuperar ordenando? 
Certamente não é a forma mais elegante mas pode resolver pontualmente 
este problema.

> 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.

        Para começar você precisa verificar o explain das consultas, tem como 
mandar tanto da consulta que ordena por data quanto da consulta que 
apresenta lentidão para a lista? Sem o explain, qualquer informação 
passada aqui será mera especulação.

<opiniaopessoal>
        Creia que no SQL Server você pode ganhar pontualmente em algumas 
coisas, mas quando poe tudo na balança você acaba perdendo.
</opiniaopessoal>

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

Responder a