Fernando, o banco de destino é MySQL? se for usar Tabelas InnoDB, implemente transação e continue fazendo da forma que você faz.
usando transação você ficará espantado com o desempenho. 2009/6/26 Fernando Pires de Souza Filho <nando_ace...@hotmail.com> > > > > realmente, bem melhor, menos codigo. > > mas como eu faria pra me concetar ao outro banco, fora da aplicacao? > e outro problema, tenho um campo que armazena uma foto (Blob), desse jeito, > como eu faria > para importar esse campo?? > > To: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > From: > stephen.wil...@ipswichhospital.nhs.uk<stephen.wilson%40ipswichhospital.nhs.uk> > Date: Fri, 26 Jun 2009 13:47:20 +0100 > Subject: RE: [delphi-br] Problema de Lentidão (SQL) > > > Bom dia, Fernando > > Poderia fazer isso em uma operacao, assim: > > Insert Into TabelaDestino(Campo1,ampo2,Campo3) Select Campo1,Campo2,Campo3 > From TabelaFonte ?? > > Sera muito rapido (menos que1 sec para 4000 registros em meus dados) - > talvez demasiado rapido para mostrar progressao com um progressbar > > Atenciosamente > > Steve > > -----Original Message----- > > > > > > > > > > > > Opa, > > > > > > Sou iniciante em delphi, to com o seguinte problema: > > > > > > Tenho que importar dados de uma tabela para a outra, seus campos sao > > > iguais. > > > uso a seguinte logica: > > > > > > tenho duas querys no form, uma qry_fonte(de onde vou pegar os dados da > > > tabela que quero importar), e colocar na outra tabela que criei, na > > > qry_Destino. > > > > > > de primeiro, faco um select * pra pegar tds os campos da tabela fonte, e > > > depois, faco um insert campo a campo na tabela de destino, ex: > > > > > > ---------------------------------------------------------- > > > QRY_Fonte.sql.Clear; > > > QRY_Fonte.SQL.Add('Select * From [TabelaFonte]'); > > > QRY_Fonte.Open; > > > while Not QRY_Fonte.Eof do > > > begin > > > with QRY_Destino do > > > begin > > > > > > sql.Clear; > > > Sql.Add('Insert Into [TabelaDestino] ('); > > > SQL.Add('campo1, campo2, campo3'); > > > SQL.Add(') Values ('); > > > SQL.Add(QuotedStr(QRY_Fonte.FieldByName('Campo1').AsString)+','); > > > SQL.Add(QuotedStr(QRY_Fonte.FieldByName('Campo2').AsString)+','); > > > SQL.Add(QuotedStr(QRY_Fonte.FieldByName('Campo3).AsString)+','); etc... > > > ExecSql; > > > ProgressBar1.Position := ProgressBar1.Position + 1; > > > Application.ProcessMessages; > > > QRY_Fonte.Next; > > > > > > end; > > > end; > > > qry_Fonte.close; > > > > > > ------------------------------------------------ > > > > > > Funciona, mais ta MUIITOO lento!!! > > > pra importar 150 reg de uma tabela pra outra demora um pouco mais de 1 > > > Minuto. > > > e tenho tabelas aqui com mais de 8.000. > > > > > > oq pode ta errado, e se alguem conhece uma forma melhor e mais rapida de > > > manipular esses dados? > > > > > > Atenciosamente > > > Fernando Pires > > > > > > __________________________________________________________ > > > Conheça os novos produtos Windows Live! Clique aqui. > > > http://www.windowslive.com.br > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > -- > > ....................................................... > > Eduardo Silva dos Santos > > DRD SISTEMAS > > (27) 3218-4201 > > (27) 9961-7095 > > MSN: eduardo....@gmail.com <eduardo.drd%40gmail.com> > > Site: http://www.drdsistemas.com.br/ > > ....................................................... > > [As partes desta mensagem que não continham texto foram removidas] > > ------------------------------------ > > -- > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > *************************************************************************** > > This e-mail and any files transmitted with it are confidential. If you are > not the intended recipient, any reading, printing, storage, disclosure, > copying or any other action taken in respect of this e-mail is prohibited > and may be unlawful. If you are not the intended recipient, please notify > the sender immediately by using the reply function and then permanently > delete what you have received. > > Content of emails received by this Trust will be subject to disclosure > under the Freedom of Information Act 2000, subject to the specified > exemptions, including the Data Protection Act 1998 and Caldicott Guardian > principles. > > This footnote also confirms that, unless otherwise stated, this email > message has been swept by Sophos Anti-virus for the presence of computer > viruses. > > *************************************************************************** > > > > > > > > > > > __________________________________________________________ > Novo Internet Explorer 8. Baixe agora, é grátis! > > http://brasil.microsoft.com.br/IE8/mergulhe/?utm_source=MSN%3BHotmail&utm_medium=Tagline&utm_campaign=IE8 > > [As partes desta mensagem que não continham texto foram removidas] > > > -- ....................................................... Eduardo Silva dos Santos DRD SISTEMAS (27) 3218-4201 (27) 9961-7095 MSN: eduardo....@gmail.com Site: http://www.drdsistemas.com.br/ ....................................................... [As partes desta mensagem que não continham texto foram removidas]