[firebase-br] RES: Query Muito lenta!!! Parte II

Zottis bzottis em ig.com.br
Qua Jul 11 16:35:19 -03 2012


O gargalo esta no max e no min da tabela Far_MTR e dos Valores_cliente
Tirando esses select cai para 1 segundo


-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Marcelo Geyer
Enviada em: quarta-feira, 11 de julho de 2012 15:51
Para: FireBase
Assunto: Re: [firebase-br] Query Muito lenta!!! Parte II

Já experimentou quebrar esse SELECT em pedaços para verificar em que ponto
ele faz o gargalo?

Em 11 de julho de 2012 11:59, Alysson Gonçalves de Azevedo <
agalysson em gmail.com> escreveu:

> Tenho uma duvida que pode ajudar...
>
> Os campos "COMPUTED BY" são calculados toda vez que são exibidos, certo?
> Para cada select que exibe aquele campo, é feito os cálculos 
> novamente, seria isso mesmo?
>
> Se sim, todos esses campos computados ai não me parecem que são 
> alterados constantemente (como seria, por exemplo, o 
> "TOTAL_VENDAS_PROFISSIONAL_NO_MES").
>
> Nesse caso, por que recalcular eles à cada select? Não é melhor criar 
> um campo normal para esses valores e atualiza-los por trigger. Assim 
> os cálculos seriam feitos apenas quando necessário.
>
> Alysson Gonçalves de Azevedo
> (11) 8491-7730
>
>
>
>
> 2012/7/11 Zottis <bzottis em ig.com.br>
>
> > ....Na tabela principal(Clientes) tenho campos calculados.
> >
> >
> >
> >     NOME_MONTADO           COMPUTED BY (NOME_FANTASIA || ' - '||
> > RAZAO_SOCIAL || ' - '|| (select E.Sigla from Empresa E where 
> > Cod_empresa
> =
> > E.Codigo)),
> >
> >     PROXIMA_COLETA         COMPUTED BY (cast(
> >
> >                               (select max(F.Data_Coleta)from Far_Mtr 
> > F where F.cod_cliente = Clientes.cod_cliente)
> >
> >                                     + Clientes.Intervalo_coleta AS
> date)),
> >
> >     SERASA                 COMPUTED BY (case
> >
> >                      when (SELECT COUNT (CT.cod_conta) FROM ctarec 
> > CT
> WHERE
> > CT.cod_cliente = CLIENTES.cod_cliente and CT.Deletado = 'N' AND
> CT.serasa =
> > 'S' )> 0 then 'S'
> >
> >                      when (SELECT COUNT (CT.cod_conta) FROM CTAREC 
> > CT
> WHERE
> > CT.cod_cliente = CLIENTES.cod_cliente and CT.Deletado = 'N' AND
> CT.serasa =
> > 'S') = 0 then 'N'
> >
> >                              end),
> >
> >     CENTRAL_COBRANCA       COMPUTED BY (case
> >
> >                          when (SELECT COUNT (CT.cod_conta) FROM 
> > ctarec CT WHERE CT.cod_cliente = CLIENTES.cod_cliente and 
> > CT.Deletado = 'N' AND CT.central_cobranca = 'S' )> 0 then 'S'
> >
> >                          when (SELECT COUNT (CT.cod_conta) FROM 
> > CTAREC CT WHERE CT.cod_cliente = CLIENTES.cod_cliente and 
> > CT.Deletado = 'N' AND CT.central_cobranca = 'S') = 0 then 'N'
> >
> >                              end),
> >
> >     COM_COMODATO           COMPUTED BY (case
> >
> >                                      when (SELECT COUNT
> (CMT.cod_comodato)
> > FROM comodato CMT WHERE CMT.cod_cliente = CLIENTES.cod_cliente ) > 0 
> > then 'S'
> >
> >                                      when (SELECT COUNT
> (CMT.cod_comodato)
> > FROM comodato CMT WHERE CMT.cod_cliente = CLIENTES.cod_cliente ) = 0 
> > then 'N'
> >
> >                                   end)
> >
> >
> >
> >
> >
> > .....
> >
> >
> >
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br 
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br 
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



--
Marcelo E. Geyer
Standard Net Tecnologia e Informação
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista