Fórum Ajuda com Lentidão no Append Do ClientDataSet #424271

21/09/2012

0

Olá pessoal,

Tenho um aplicação desenvolvida no Delphi 2007, na qual existe um determinado momento
em que é feito um while que é executado 30 vezes até sair, dentro deste while
existem um ClientDataSet ligado pra meio de um datamodule ao banco, onde a cada iteração
do while é dado um append nesse ClientDataSet demorando assim uma média de 4 segundos
para a execução deste while, no entanto quando coloco um edit no ClientDataSet ao invés do
Append o laço de repetição demora em média 1 segundo, e existe outra parte do sistema também,
onde ocorrem outro while que é executado 30 vezes e um Append dentro dele mas seu tempo
de execução é em média 1 segundo, a unica diferença entre eles é que este segundo não está ligado ao banco,
é apenas atribuidos valores para impressão de um relatório, o primeiro possui dois campos como indexfieldsname.

Essa demora de execução entre os dois while é devido ao fato do primeiro estar ligado ao banco? É normal essa demora
no camando append? ou normalmente utilizam de outro método para inserção?

P.S. tentei dando um insert também mas a demora foi a mesma.
Bruno Henrique

Bruno Henrique

Responder

Posts

21/09/2012

Wilton Júnior

Bruno, tive o mesmo problema com o delphi 2007 e depois desisti de mexer com ele.
Estou usando o delphi XE2 uso cliendataset e dbexpress em uma maquina antiga e não tenho esse tipo de problema mais.
Tente testar o trabalho em uma versão mais antiga ou mais nova.

abraços
Responder

Gostei + 0

21/09/2012

Alisson Santos

Olha se falar que a demora é normal estarei engando, o que tem que ser analisado é a quantidade de dados que tem essa tabela e qual o select que está por traz dela.
Referente a diferença entre as duas cai no que eu falei.
Se puder postar os dois laços estarei analisando e auxiliando você nessa duvida.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar