Processamento Demorado
Ola Pessoal
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.
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
Curtidas 0
Respostas
Cfn2003
02/06/2003
Acredito que o uso de thread naum resultara no esperado, quando trabalhamos com bases de dados o ideal e deixar as regras de negocio para o servidor, geralmetne uma maquina mais ´parruda´.
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...
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
Dcport
02/06/2003
Ainda que uma thread extra não vá tornar a chamada a sua rotina mais rápida, ela pode ajudar a manter seu programa amigável, com boa resposta ao usuário.
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.
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
Alesabino
02/06/2003
Legal pessoal. :D
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?
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