[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