Bom dia pessoal, gostaria de uma ajuda de voces,

Estou trabalhando em um sistema de importacao de dados via arquivo TXT. Ele=
 tem mais ou menos a seguinte estrutura:

Arquivo: +- 56000 linhas
Ele atualizara da seguinte forma:

Tabela 1 - 85000 registros

Para cada sequencial encontrado / criado, ele atualizara uma tabela 2 =3D 1=
0000 registros
Para cada um da tabela 2 ele atualizara ou fara insercoes em uma tabela 3 =
=3D 900 registroa
A tabela 3 fara a mesma coisa na tabela 4: 56000 registros (todos os regist=
ros do TXT)

Ja tentei das seguintes formas:
Somente com queries, uma para selecao, uma para insercao, uma para alteraca=
o;
Somente com queries, somente uma para selecao, insercao e alteracao,
Somente uma query com ClientDataSet para selecao, insercao e alteracao.

Essas tres primeiras tentativas geravam tantos acessos ao banco de dados qu=
e chegava uma hora que dava um overflow dentro do banco (o famoso e misteri=
oso erro SQLDA);

Sendo assim tentei de outra forma:

Um ClientDataSet para cada tabela da situacao informada, todos eles com sel=
ect * e carregamento na memoria, procura pelo comando Locate.

Dessa forma ate funciona sem dar erro no banco, porem ele esta a uma veloci=
dade de 1 a 2 registros por segundo!!!!!

Das outras formas eu ate conseguia uma marca maior, o problema e o erro que=
 acontece apos tantas requisicoes com o banco.

Estou utilizando Delphi 6, dbExpress e Firebird 2.0. Sei que e uma mistura =
assassina, mas e so o que tem aqui na empresa.

Alguem tem sugestoes de o que eu posso fazer para melhorar a performance ne=
sse sentido? O processo da maneira que esta demora uma noite inteira para t=
erminar, sendo que no sistema antigo deles, a mesma rotina feita em Clipper=
 e DBF levava em torno de 30 minutos.

Agradeco antecipadamente!

Lucas Neves


      Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua 
cara @ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses

[As partes desta mensagem que não continham texto foram removidas]

Responder a