Fórum ApplyUpdates, melhor maneira de usar... #232673
17/05/2004
0
com a ajuda da matéria de Profiling da ClubeDelphi Edição 51, que diga-se de passagem, uma excelente matéria, reparei que em muitas rotinas de meus sistemas o principal ´gargalo´ estava em rotinas de loop para gravar dados em tabelas, eu estava dando applyupdates em cada inserção, mudando o applyupdates para o fim do loop (depois de todos os registros gravados na memória) a velocidade da rotina foi muito melhor.
Mas aí em fiquei curioso, até que ponto a rotina ser desse jeito é interessante? A integridade dos dados não ficará comprometida? Ou na verdade essa é a maneira correta de se escrever a rotina?
quem puder dar a sua opinião eu agradeceria...
Exemplo:
antes:
while not Tabela1.EOF do
begin
Tabela2.Insert;
{Atribuindo campos}
Tabela2.Post;
Tabela2.ApplyUpdates(0);
Tabela1.Next;
end;
Depois:
while not Tabela1.EOF do
begin
Tabela2.Insert;
{Atribuindo campos}
Tabela2.Post;
Tabela1.Next;
end;
Tabela2.ApplyUpdates(0);
Gilberto Fernandes
Curtir tópico
+ 0Posts
17/05/2004
Lucas Silva
while not Tabela1.EOF do
begin
Tabela2.Insert;
{Atribuindo campos}
Tabela2.Post;
Tabela2.ApplyUpdates(0);
Tabela1.Next;
end; Eu acho melhor este, pois a cada registro inserido você atualiza seu banco.
Com este código a rotina fica bem mais lenta, que no outro.
Gostei + 0
18/05/2004
Gilberto Fernandes
mas tomara q tenha mais opiniões...
Gostei + 0
18/05/2004
Nerdex
Gostei + 0
19/05/2004
Gilberto Fernandes
Gostei + 0
19/05/2004
Lucas Silva
Gostei + 0
19/05/2004
Gilberto Fernandes
e como o Nerdex disse, a inserção por SQL é bem mais veloz do q o método de dar o applyupdates...
mas a minha questão é usar o applyupdates em cada inserção ou usá-lo depois de todas as inserções...
Gostei + 0
19/05/2004
Kotho
Gostei + 0
19/05/2004
Tnaires
Gostei + 0
19/05/2004
Gilberto Fernandes
vlw galera
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)