[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