[firebase-br] RES: RES: Update demorado, valor de outra tabela

Eduardo C ecostas em gmail.com
Dom Fev 16 01:16:06 -03 2014


Sub-selects são caros,  alguma chance de transformar em selects com inner
joins, gerar linhas com os updates e executar como script?

Eduardo
Em 15/02/2014 16:36, "Felix - SOL Informática" <felix em solsistemas.com>
escreveu:
>
> Desculpa, errei ao 'transcrever' a sentenca; na original esta o order by;
> corrigindo conforme abaixo:
>
> update it_venda i set i.custo =
>     case when (select first 1 c.custo from compra c where
c.codigo=i.codigo
> and c.data < i.data order by c.data desc) = 0
>          then (select p.custo from produto p where p.codigo=i.codigo)
>          else (select first 1 c.custo from compra c where
c.codigo=i.codigo
> and c.data < i.data order by c.data desc)
>  end
>
> Francisco Felix
>
> -----Mensagem original-----
> De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Junior
Monteiro
> Enviada em: sábado, 15 de fevereiro de 2014 15:28
> Para: FireBase
> Assunto: Re: [firebase-br] RES: Update demorado, valor de outra tabela
>
> Problema do menor ele vai trazer vários registro com first 1 não sendo a
> ultima data o que VC poder fazer um order by des com first.
> Em 15/02/2014 15:24, "Felix - SOL Informática" <felix em solsistemas.com>
> escreveu:
>
> > 1. Nao esta indexado - usando o 'menor que' ainda aproveitaria o indice?
> > 2. O uso do MAX seria para pegar direto a ultima data, mas no caso eu
> > preciso que seja relativa a data da venda;
> >
> > Francisco Felix
> > SOL Informática
> >
> >
> > -----Mensagem original-----
> > De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Junior
> > Monteiro
> > Enviada em: sábado, 15 de fevereiro de 2014 15:16
> > Para: FireBase
> > Assunto: Re: [firebase-br] Update demorado, valor de outra tabela
> >
> > Esse campo estão indexado? Outra coisa também pq não usa o max na data
> pata
> > trazer a última data. Qualquer dúvida ... Att
> > Em 15/02/2014 15:07, "Felix - SOL Informática" <felix em solsistemas.com>
> > escreveu:
> > >
> > > Alguem pode me ajudar, ha uma forma melhor de fazer?
> > >
> > > Objetivo: atualizar o campo [custo] da tabela [it_venda] com o valor
> > contido
> > > na tabela [compra], observando a ultima compra conforme campo [data]
> > >
> > > update it_venda i set i.custo =
> > >    case when (select first 1 c.custo from compra c where
> > c.codigo=i.codigo
> > > and c.data < i.data) = 0
> > >         then (select p.custo from produto p where p.codigo=i.codigo)
> > >         else (select first 1 c.custo from compra c where
> > c.codigo=i.codigo
> > > and c.data < i.data)
> > > end
> > >
> > > Problemas encontrados: demora muito, me parece que a pesquisa eh
> > realizada
> > > 2x (na condicao e novamente no 'else').
> > >
> > > Obrigado,
> > >
> > > Francisco Felix
> > > SOL Informática
> > >
> > >
> > > ______________________________________________
> > > 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
> >
> >
> > ______________________________________________
> > 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
>
>
> ______________________________________________
> 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