claudiochaves escreveu:Obrigado pela contribuição. Eu fiz daquela forma para poupar codigo, é bom saber que poupar codigo nem sempre poupa processamento
Não é questão de processamento.
No editor de texto, pra cada IF gigante... precisa às vezes ficar paginando fonte pra encontrar o ELSE ou ENDIF.
Com a alteração, no IF pequeno já fica visível que tem registro sendo pulado.
Se vai demorar mais ou não... isso nem importa...
É importante o fonte ficar fácil pra fazer manutenção.
Até pra converter pra comando SQL... acaba facilitando também..
claudiochaves escreveu:Estava vendo a sugestão do Quintas, vou precisar mudar o conceito no caso desta rotina e de outras que tenho.
Com o dbf a consulta e update podem ser concomitantes. No caso em SQL, primeiro terei de carregar o que vou trabalhar e depois fazer um update.
Já percebi que tenho que analisar cada rotina para migrar para uso do SQL.
Pra cada situação uma solução.
Começa reduzindo pra comando SQL, e com o tempo talvez até encontre uma forma de atualizar tudo num único comando.
Lembrando:
Ainda sou principiante, estou começando a usar esse "algo mais". provavelmente dá pra criar uma função ou algo parecido pra fazer essa atualização num único comando.
Vou pesquisando conforme preciso de algum "algo mais".
E por enquanto, como estou na gravação duplicada de DBF+MySQL, mais limitado.
Importante:
Mesmo que esse SELECT esteja pegando informações de várias tabelas, vai ser muuuuuuito mais rápido do que trabalhar com DBF.
No DBF, vai trabalhar com a ficha COMPLETA do aluno, enquanto nesse comando vai usar somente os campos que interessam.
Isso faz muuuuuuita diferença na rede, por isso é mais rápido do que trabalhar registro a registro com DBF.
Se considerar que nem precisa dos nomes dos alunos, endereço, etc.... só esses campos a menos já vai dar alguns megabytes de informação a menos pela rede.
E junte a isso os registros que estão sendo filtrados... menos informação ainda do que em DBF.
É nisso que vai começar a enxergar a vantagem do SQL !!!