[firebase-br] Procedures

Eduardo Jedliczka (TeamFB) jedyfb em gmail.com
Qua Ago 30 15:44:35 -03 2006


esqueça o CDS para importar os dados. Use IBX ou outro componente de acesso 
nativo como IBO ou MDO, será mais rápido.

Utilize uma transação (não defina como auto-commit), commite (hard commit 
mesmo, não use commitretainning) a cada x registros (mais ou menos mil 
registros) e ao terminar cada tabela.

Para simplificar, monte suas queries com parâmetros, e as mantenha 
preparadas (assim o desempenho é melhor), só desprepare após terminar a 
importação.

assim, tanto o servidor quanto o seu aplicativo terão um baixo consumo de 
memória.

======================
Eduardo Jedliczka
Membro do TeamFB - FireBase
Apucarana - PR
======================
"Posso não concordar com nada do que dizes.
Mas defenderei até a morte o seu direito de dizê-lo"
(Voltaire 1694-1778)

----- Original Message ----- 
From: "Silfar Goulart" <silfar em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, August 30, 2006 3:34 PM
Subject: [firebase-br] Procedures


Pessoal, tenho que fazer uma rotina de importação, de um arquivo txt com
mais de 500 mb, e com aproximadamente 100.000 registros de tabelas
diferentes.

Eu tentei fazer em delphi usandoi componentes clientdataset, mas tô tendo
problema de memória.

Então pensei em fazer com procedures e aí tenho duas alternativas, uma é
fazer a importação parte na aplicação e parte no banco tipo:

Na app:
try
  startTransaction
     procTab1(dados)
     procTab2(dados)
     procTab3(dados)
   commit
except
   rollback

ou seja fazer procedures de inclusão para cada tabela e controlar a
transação pela app delphi.


Ou usar a app delphi só para ler o txt e mandar os dados para o banco onde
ele faria o resto.

tipo:

  linha := linha_reg
  proc(linha_reg)

Neste caso a procedure ia fazer todo o processamento incluindo o controle de
transação, não sei se tem como ou como fazer, pois tenho que ter controle de
transação .


Alguma dica ?





-- 
Silfar Goulart
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista