[firebase-br] Select para gente grande... muuuto lento
    magno 
    magnoscosta em bol.com.br
       
    Sex Jun 10 19:22:20 -03 2005
    
    
  
Amigos tenho um probleminha pra gente grande..
1º vou a descriçao das tabelas..
TB_CENTROS DE CUSTO (CTCCUS)
Cod_interno int - chave
x1 - int
TB_CUSTOS (CUSCUS)
cod_lancamento - Int - chave
Cod_Centro - Int
Cod_Plano - Int
Cod_Grupo - Int
Cod_SubGrupo - Int
Valor - dec
Num grid eu listo os centros de custo e o usuário escolhe quais ele quer, 
marcando assim o campo X1, recebendo o valor 1.
Entaum ele pede para calcular...
rodando assim o seguinte select:
Select
 CUSCUS.COD_GRUPO,
 CUSCUS.COD_SGRUPO,
 CUSCUS.COD_PLANO,
 SUM(CUSCUS.VALOR),
  (select SUM(CUSCUS.VALOR)
    from CUSCUS left join CTCCUS on (CTCCUS.COD_INTERNO = CUSCUS.COD_CENTRO)
    Where CTCCUS.X1 = 1) Total_Valor
  from CUSCUS left join CTCCUS on (CTCCUS.COD_INTERNO = CUSCUS.COD_CENTRO)
    Where X1 = 1
 Group By
 CUSCUS.COD_GRUPO,
 CUSCUS.COD_SGRUPO,
 CUSCUS.COD_PLANO
ou seja o resultado é
Grupo    SubGrupo    Plano    Sum         ValorTotal
   01            02            01        500,00    100.000,00
   01            02            02        250,00    100.000,00
   02            01            01        350,00    100.000,00
   02            02            01        150,00    100.000,00
e por ai vai..
Resumindo agrupando cfe o Grup by descrito
Acontece q isso esta muito lento, levando em torno de 40s se tiver um centro 
selecionado se for uns 8 leva uns 5 minutos.. ..
Alguem teria uma dica para melhorar esta performance....
Att
Magno 
    
    
Mais detalhes sobre a lista de discussão lista