[delphi-br] APPEND DEMORADO ??
Fiz alguns testes de performance, o melhor deles, ficou fazendo Insert em vez de Append, Mas mesmo assim, Na Primeira vez que Clico no Botão que faz este loop, vai beleza (Apenas 1 Segundo) mas Na Segunda Vez ele Sofre um pouco mais. (15 segundos) imagina o tempo prá 100.000 registros !!! Pergunta: O que será que falta fazer para liberar memória, cache, ou outro raio que seja nesta rotina ??? Rs... [ ]'s - Original Message - From: Daniel Bastos To: delphi-br@yahoogrupos.com.br Sent: Monday, July 24, 2006 4:18 PM Subject: Re: [delphi-br] APPEND DEMORADO ?? Tu tabela deve ter muitos registros... o que acontece é que quando vc dá o append, ele carrega tudo na memória... vc vai sentir uma grande diferença se vc utilizar o Insert ao inves do append. Em 21/07/06, Rubem Nascimento da Rocha [EMAIL PROTECTED] escreveu: Muito simples! Vc coloca o Post() no final do laço, quando o correto é fazê-lo após preencher o último campo do laço! Sds. From: Wroger [EMAIL PROTECTED] Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br@yahoogrupos.com.br Subject: [delphi-br] APPEND DEMORADO ?? Date: Fri, 21 Jul 2006 13:39:32 -0300 Fiz um exemplo, para acessar uma tabela do Tipo .DBF na minha unidade C:\ utilizando um TTable. Estou utilizando o Seguinte Looping para dar append neste TTable: Table1.DisableControls; Table1.Close; Table1.Open; For i:=1 to 3000 do Begin Table1.Edit; Table1.Append; Table1.FieldByName('v1').AsFloat := i Table1.FieldByName('v2').AsFloat := (i * 5); End; tblCurva.Post; Table1.EnableControls; Na Primeira vez que rodo vai rapidinho, mas na segunda vez, percebo que o comando Append começa a demorar bem mais que o normal. O que pode estar havendo ??? Alguma dica ?? Obrigado à todos. Roger. ___ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com _ MSN Messenger: converse com os seus amigos online. http://messenger.msn.com.br [As partes desta mensagem que não continham texto foram removidas] ___ Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora! http://br.mobile.yahoo.com/mailalertas/ -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] APPEND DEMORADO ??
Olá, Fiz alguns testes de performance, o melhor deles, ficou fazendo Insert em vez de Append, O que será que falta fazer para liberar memória, cache, ou outro raio que seja nesta rotina ??? Peguei o bonde andando, mas não sei porque você está utilizando o append ou insert. Dê um INSERT no banco através de uma cláusula SQL, vai ser incomparávelmente mais rápido. Atenciosamente, Eduardo Paci Galvão Engenheiro Eletricista UFMG www.egalvao.com.br [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[delphi-br] APPEND DEMORADO ??
Fiz um exemplo, para acessar uma tabela do Tipo .DBF na minha unidade C:\ utilizando um TTable. Estou utilizando o Seguinte Looping para dar append neste TTable: Table1.DisableControls; Table1.Close; Table1.Open; For i:=1 to 3000 do Begin Table1.Edit; Table1.Append; Table1.FieldByName('v1').AsFloat := i Table1.FieldByName('v2').AsFloat := (i * 5); End; tblCurva.Post; Table1.EnableControls; Na Primeira vez que rodo vai rapidinho, mas na segunda vez, percebo que o comando Append começa a demorar bem mais que o normal. O que pode estar havendo ??? Alguma dica ?? Obrigado à todos. Roger. ___ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] APPEND DEMORADO ??
Apague todos os registros antes de rodar novamente. Se ainda sim ficar lento, experimente criar um índice... ou até mesmo retirar os índices. Não entendi o trecho: Table1.Edit; Table1.Append; Vc quer inserir ou editar? Resolvendo essas questões, altera um pouquinho, fazendo o POST de 100 em 100 inclusões. [ ]'s - Original Message - From: Wroger To: delphi-br@yahoogrupos.com.br Sent: Friday, July 21, 2006 1:39 PM Subject: [delphi-br] APPEND DEMORADO ?? Fiz um exemplo, para acessar uma tabela do Tipo .DBF na minha unidade C:\ utilizando um TTable. Estou utilizando o Seguinte Looping para dar append neste TTable: Table1.DisableControls; Table1.Close; Table1.Open; For i:=1 to 3000 do Begin Table1.Edit; Table1.Append; Table1.FieldByName('v1').AsFloat := i Table1.FieldByName('v2').AsFloat := (i * 5); End; tblCurva.Post; Table1.EnableControls; Na Primeira vez que rodo vai rapidinho, mas na segunda vez, percebo que o comando Append começa a demorar bem mais que o normal. O que pode estar havendo ??? Alguma dica ?? Obrigado à todos. Roger. ___ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] APPEND DEMORADO ??
Wroger, Se a tua rotina está igual a que vc mandou, então modifique para: whith Table1 do begin DisableControls; Close; Open; For i:=1 to 3000 do Begin Append; FieldByName('v1').AsFloat := i; FieldByName('v2').AsFloat := (i * 5); Post; End; EnableControls; end; Acho que desta forma resolve. Luciano - Original Message - From: Wroger To: delphi-br@yahoogrupos.com.br Sent: Friday, July 21, 2006 1:39 PM Subject: [delphi-br] APPEND DEMORADO ?? Fiz um exemplo, para acessar uma tabela do Tipo .DBF na minha unidade C:\ utilizando um TTable. Estou utilizando o Seguinte Looping para dar append neste TTable: Table1.DisableControls; Table1.Close; Table1.Open; For i:=1 to 3000 do Begin Table1.Edit; Table1.Append; Table1.FieldByName('v1').AsFloat := i Table1.FieldByName('v2').AsFloat := (i * 5); End; tblCurva.Post; Table1.EnableControls; Na Primeira vez que rodo vai rapidinho, mas na segunda vez, percebo que o comando Append começa a demorar bem mais que o normal. O que pode estar havendo ??? Alguma dica ?? Obrigado à todos. Roger. ___ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RE: [delphi-br] APPEND DEMORADO ??
Muito simples! Vc coloca o Post() no final do laço, quando o correto é fazê-lo após preencher o último campo do laço! Sds. From: Wroger [EMAIL PROTECTED] Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br@yahoogrupos.com.br Subject: [delphi-br] APPEND DEMORADO ?? Date: Fri, 21 Jul 2006 13:39:32 -0300 Fiz um exemplo, para acessar uma tabela do Tipo .DBF na minha unidade C:\ utilizando um TTable. Estou utilizando o Seguinte Looping para dar append neste TTable: Table1.DisableControls; Table1.Close; Table1.Open; For i:=1 to 3000 do Begin Table1.Edit; Table1.Append; Table1.FieldByName('v1').AsFloat := i Table1.FieldByName('v2').AsFloat := (i * 5); End; tblCurva.Post; Table1.EnableControls; Na Primeira vez que rodo vai rapidinho, mas na segunda vez, percebo que o comando Append começa a demorar bem mais que o normal. O que pode estar havendo ??? Alguma dica ?? Obrigado à todos. Roger. ___ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com _ MSN Messenger: converse com os seus amigos online. http://messenger.msn.com.br -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html