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

Marcelo Geyer estanisgeyer em gmail.com
Qui Jul 12 01:01:02 -03 2012


Olá,

Crie um índice para F.Data_coleta para ver o que acontece.
Abraços,

Marcelo E. Geyer

Em 11 de julho de 2012 16:35, Zottis <bzottis em ig.com.br> escreveu:

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



Mais detalhes sobre a lista de discussão lista