[firebase-br] RES: RES: RES: Maneira mais rápida... SQL ou CÓDIGO ?

Luis luisfirevb em gmail.com
Qui Ago 6 10:30:09 -03 2009


Felipe não estou com problema em minha rotina, só fiz um comentário em
função do tempo comentado pela rotina do Rodrigo 88 horas e por isso citei o
meu exemplo.

No meu caso não há como fazer em tempo real, pois tenho 62 almoxarifados
móveis (equipes de campo) e só há como fazer o lançamento ao retornarem e
saber o material aplicado, bem como quando carregaram o caminhão também,
pois as vezes a equipe falta, assim não há movimento de um caminhão para o
outro (fora do horário comercial/lançamento informatizado).

Além disso há outros detalhes de projeto que impedem, nesse caso, o
lançamento em tempo real com os cálculos de estoque. Neste caso não há
necessidade de se dar a baixa imediata, uma vez que sempre haverá estoque
disponível para aplicação, já que o material já está no caminhão.

De qualquer modo, obrigado pelo comentário, sem dúvida tempo real é o mais
indicado na baixa de estoques em muitas situações.

Luis

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Felipe Aron
Enviada em: quinta-feira, 6 de agosto de 2009 09:45
Para: FireBase
Assunto: Re: [firebase-br] RES: RES: Maneira mais rápida... SQL ou CÓDIGO ?

Porque não faz a movimentação de estoque em tempo real ?? Saida e entrada ??

2009/8/6 Luis <luisfirevb em gmail.com>

> Amigos não sou especialista, mas acho um absurdo minha rotina de montagem
> dos saldos parciais no controle de estoques dos 5 almoxarifados fixos e 62
> móveis, com 5 mil itens de materiais, percorrendo toda movimentação mensal
> (12 mil registros) levar +/- 3 horas para terminar, e isso feito em
> MSAccess.
>
> 12 mil lançamentos x 5 mil materiais = 60 milhões registros
> 60 milhões x 67 almoxarifados = 4 bilhões e 20 milhões de repetições
> Isso dentro de um laço que soma o valor lançado de cada item por cada
> almoxarifado.
>
> Agora uma rotina que leva 88 horas ou até 20 horas acredito ser
> inimaginável. Se há um processo tão moroso assim, acredito que a estrutura
> deva ser revista e alterada para tempo real, ou seja, a cada operação as
> ações são todas realizadas imediatamente, assim poderia se perder alguns
> milissegundos em cada operação, porém se ganharia essas horas ou dias ao
> final, já que todas as informações estariam prontas em tempo real.
>
> Luis
>
>
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
> Em
> nome de //---- Kelsie.Z.Marshall ----//
> Enviada em: quarta-feira, 5 de agosto de 2009 18:20
> Para: lista em firebase.com.br
> Assunto: Re: [firebase-br] RES: Maneira mais rápida... SQL ou CÓDIGO ?
>
> Oi Rodrigo
>
> Aqui o processamento levou 88 horas via código se eu conseguir reduzir
este
> tempo pela metade via SQL já estou satisfeito.
>
> Eu não sei como fazer a chamada da SP, não entendo como funciona.
>
> Dentro da SP tem que existir um select ou o select é antes na chamada da
SP
> ?
>
> []'s
>
> Kelsie
>
> "Rodrigo A. de Freitas"
> <rodrigo em solucoeseinformatica.com.br> wrote
> in message news:33613.6380829432$1249505659 em news.gmane.org...
> Kelsie,
>
> O banco também não faz milagres. Manipular 80 milhões de registros do
> primeiro ao último é algo que exigirá uma quantidade GIGANTESCA de tempo
> para rodar.
>
> Imagine que você faça uma stored procedure correndo do primeiro ao último
> registro, executando sua função check_id, que pode ser uma outra SP ou uma
> UDF. Se o banco levar um milissegundo por registro, você teria o seguinte:
>
> 80.000.000 de registros x 1 milissegundo = 80.000 segundos = 22,22 horas
de
> processamento!
>
> Respondendo sua pergunta, de qualquer forma fazer isso internamente no
> banco
> seria mais rápido. Se você desenvolvesse essa rotina via código em uma
> linguagem de programação, você teria o tempo adicional de se fazer o fetch
> dos registros pra memória da sua máquina para em seguida executar o seu
> teste.
>
>
> []'s
>
>
> Rodrigo A. de Freitas
> Análise & Desenvolvimento
>
> Soluções & Informática
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br
> [mailto:lista-bounces em firebase.com.br] Em
> nome de //---- Kelsie.Z.Marshall ----//
> Enviada em: 5 de agosto de 2009 16:59
> Para: lista em firebase.com.br
> Assunto: [firebase-br] Maneira mais rápida... SQL ou CÓDIGO ?
>
> Oi Pessoal
>
> Meu primeiro post nesta lista.
>
> Estou testando os limites do FB.
>
> Criei uma enorme tabela com 80.000.000 de registro e inseri dados
> aleatórios.
>
> ID VARCHAR(20)
> NOME VARCHAR(120)
>
> Agora eu preciso fazer um calculo para verificar se a ID está correta em
> cada registro.
>
> Tentei primeiro fazer através do código mas levou muito tempo
> (impraticável).
>
> Meu código:
>
> CHECK_ID(ID)
> {
>   ...varios calculos...
>   return valido ou nao valido
> }
>
>  DM->IBQueryGen->First();
>  while(!DM->IBQueryGen->Eof)
>  {
>     if(CHECK_ID(DM->IBQueryGen->FieldByName("ID")->AsString)
>       ct_valid++;
>     else
>      ct_invalid++;
>     DM->IBQueryGen->Next();
>  }
>
> Existe uma maneira de fazer isto via SQL com procedure, trigger ou UDF,
> ainda estou meio perdido nos conceitos.
>
> Thanks
>
> Kelsie
>
>
>
> ______________________________________________
> 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
> Nenhum vírus encontrado nessa mensagem recebida.
> Verificado por AVG - www.avgbrasil.com.br
> Versão: 8.5.392 / Banco de dados de vírus: 270.13.44/2283 - Data de
> Lançamento: 08/05/09 05:57:00
>
>
> ______________________________________________
> 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
>



-- 
Felipe Aron (www.felipearon.com.br - CURSO ON-LINE GRATUITO XNA)
Analista e Programador de Sistemas

http://br.groups.yahoo.com/group/xna-br/ --> Lista de Discussão sobre XNA
______________________________________________
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