Fórum Atualizar/Inserir no banco é mais rápido pelo ClientDataSet? #292927
24/08/2005
0
É mais rápido ir atualizando (ou inserindo) dados na base um a um através de uma consulta Update (ou Insert), ou aplicar todas as alterações (ou inclusões) em um ClientDataSet e depois aplicar tudo de uma só vez através de um ApplyUpdate?
detalhando...
Qual das duas situações é mais rápido?
1- Uma consulta Update que recebe como parâmetro o código do cliente e altera o valor de um campo.
isso é feito através de um laço que vai passando por todos os registros (disponíveis no ClientDataSet) e passando o parâmetro (código do cliente)
para a consulta, que por sua vez vai atualizando os registros, um a um.
2- através de um laço, sair varrendo todos os registros de um ClientDataSet e ir atualizando os campos necessários no ClientDataSet.
após tudo alterado, dar um ApplyUpdate(0) para que as alterações sejam aplicadas a base.
E a mesma situação para o comando Insert? qual o melhor método?
detalhando...
Qual das duas situações é mais rápido?
1- Uma consulta Update que recebe como parâmetro o código do cliente e altera o valor de um campo.
isso é feito através de um laço que vai passando por todos os registros (disponíveis no ClientDataSet) e passando o parâmetro (código do cliente)
para a consulta, que por sua vez vai atualizando os registros, um a um.
2- através de um laço, sair varrendo todos os registros de um ClientDataSet e ir atualizando os campos necessários no ClientDataSet.
após tudo alterado, dar um ApplyUpdate(0) para que as alterações sejam aplicadas a base.
E a mesma situação para o comando Insert? qual o melhor método?
Raserafim
Curtir tópico
+ 0
Responder
Posts
25/08/2005
Bon Jovi
Acho q depende, qdo é preciso abrir os dados e depois atualizar esses dados, o ClientDataSet é mais rápido.
Qdo é preciso somente inserir dados, um INSERT INTO vai ser mais rápido, pois nao vai perder tempo abrindo query, por mais que fosse um WHERE 0 = 1. Mesmo assim, pela produtividade e facilidade em manutenções, prefiro usar ao máximo ClientDataSet, pois uso muito data controls.
Qdo é preciso somente inserir dados, um INSERT INTO vai ser mais rápido, pois nao vai perder tempo abrindo query, por mais que fosse um WHERE 0 = 1. Mesmo assim, pela produtividade e facilidade em manutenções, prefiro usar ao máximo ClientDataSet, pois uso muito data controls.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)