Fórum Processamento Demorado #164225
02/06/2003
0
Estou com uma rotina que esta demorando muito e gostaria de sugestoes, como por exemplo thread para acelerar o processamento.
A rotina é de critica de um banco de dados, ela le registros de duas tabelas e carrega em duas classes pai e filho. As classes tem metodos de escrita para as suas propriedades e nestes metodos sao feitos algumas criticas com acessos a outras tabelas para validacao do valor a ser inserido na propriedade.
Como as tabelas tem mais de 80000 registros esta demorando muito. Estou pensando em fazer uso de threads para acelerar esta rotina, alguem tem alguma ideia.
Obrigado pra quem puder ajudar.
Alesabino
Curtir tópico
+ 0Posts
02/06/2003
Cfn2003
Não sei qual servidor de dados vc esta usando, mas aconselho a utiliza-lo, pois o processamento e muito mais rapido.
Eu trabalho com tabelas de mais de 10.000.000 de registros e utilizo o servidor (stored procedures) para realizar o processamento, o delphi e somente para chamar as sp e deixar o processamento mais amigavel...
Gostei + 0
02/06/2003
Dcport
Por exemplo, você pode criar um thread extra e atribuir a ela o trabalho de fazer as consultas ao banco. Enquanto isso, a thread principal do seu programa mantem-se ocupada respondendo às requisicoes da interface de usuário, como mover e redesenhar janelas, ou até mesmo deixando que o usuário realize outras tarefas enquanto aguarda pelo fim da consulta.
Lembre-se: o desenvolvedor deve otimizar o trabalho do usuário do programa, e não o trabalho do computador. Possibilitar que o usuário continue seu trabalho enquanto espera pelas consultas pode ter um efeito muito melhor que tornar as consultas um pouco mais rapidas.
Gostei + 0
03/06/2003
Alesabino
Em relação aos dados é uma base Paradox e portanto não tenho muitas opções.
Sobre criar um thread extra para a rotina de critica é uma ótima idéia, pois, conforme o seu comentário, o usuário poderá fazer outra ação.
Só que eu continuo com o problema de muita demora. :?: Para se ter uma idéia a rotina estava em 8¬ do banco após 5 horas de execução.
O que estou fazendo é dividindo a base em três partes para resolver separadamente e depois junto tudo de novo.
Só que não posso ficar com essa solução, entendem?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)