RES: [firebase-br] Demora em Stored Procedure...

Ton hevertonc em hotmail.com
Sex Jul 29 14:22:58 -03 2005


   Em verdade, ela não está trazendo as maiores vendas, e sim a soma das
vendas no período informado.

   A demora é causada pelo SubSelect, pois para cada cliente, ele re-executa
o mesmo, tenta assim:

SELECT B.NOME,
	 SUM(C.QUANTIDADE * C.VALOR_ORIGINAL) AS TOTAL_PRODUTOS
    FROM CLIENTES B,
	   LANCAMENTOS C,
         NOTAS D
   WHERE D.DT_EMISSAO BETWEEN '01-01-2005'
                          AND '12-31-2005'
     AND C.CLIENTE_ID = B.CLIENTE_ID
     AND D.NOTA_ID = C.NOTA_ID
   ORDER BY 2 DESC

   Deste jeito, mesmo que ele tenha mais duas tabelas diretas a pesquisar,
ele otimiza uma vez e já retorna tudo o que vc precisa, da outra forma, ele
precisa executar o subselect tantas vezes quanto há clientes em seu banco.

   Posta o resultado...

   Abraços...

        Ton
Analista de Sistemas
 DotCom Informática

"A informação não é um produto,
mas sim a matéria prima." (Ton)
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Roberto - Sui Generis
Enviada em: sexta-feira, 29 de julho de 2005 14:08
Para: FireBase
Assunto: [firebase-br] Demora em Stored Procedure...

Tenho a Stored Procedure abaixo, mas para me retornar o Resultado, demora
muito... Alguém tem uma sugestão para ficar mais rápida...
Obs: Esta SP retorna as Maiores vendas por cliente

begin
  for select b.NOME,
    (select sum(c.QUANTIDADE * c.VALOR_ORIGINAL) from LANCAMENTOS c
    left join NOTAS d on d.NOTA_ID = c.NOTA_ID
    where d.DT_EMISSAO between '01-01-2005' and '12-31-2005'
    and c.CLIENTE_ID = b.CLIENTE_ID
    ) as TOTAL_PRODUTOS
    from CLIENTES b
    order by 2 desc
    into :NOME, :TOTAL
  do
  suspend;
end


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa

-- 
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.7/60 - Release Date: 28/7/2005
 

-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.7/60 - Release Date: 28/7/2005
 




Mais detalhes sobre a lista de discussão lista