Velocidade quando incluidos milhares de registros no FB ????
08/04/2003
0
Tenho uma aplicação que insere no banco , até 20.000 registros seguidos
no banco provenientes de um arquivo txt enviado pelo banco com dados
de devedores a serem cobrados...
A caso de arquivo com 20.000 inclusoes que demoraram 05 horas...
como fazer para tornar isso mais rápido...
uso o IBX e os comandos ibdataset.insert , ibdataset.post
no banco provenientes de um arquivo txt enviado pelo banco com dados
de devedores a serem cobrados...
A caso de arquivo com 20.000 inclusoes que demoraram 05 horas...
como fazer para tornar isso mais rápido...
uso o IBX e os comandos ibdataset.insert , ibdataset.post
Anonymous
Curtir tópico
+ 0
Responder
Posts
08/04/2003
Afarias
Em geral esse tempo não é grande assim...
... faço inserções de testes em meus bancos de dados e, a inserção de 30.000 registros e duram 3 min. A inserção de 300.000 não duram entre 30 a 40 min... (inserções em rede)
No seu caso, q vai fazer apenas as inserções, use o IBSQL no lugar de IBQuery ou IBDataset -- haverá um certo ganho
use um SQL de INSERT com parâmetros que seram preenchidos na leitura do arquivo texto.
É sempre bom COMMITAR a transação após inclusão de alguns registros.... más isso depende de vc, vc pode determinar qual o melhor ponto para isso -- (se é q vc pode confirmar alguns registros antes de ter certeza q todos estarão no banco)
Com o IBDataset e IBQuery tb não deveria ser tão lento... caso continue tendo problemas, coloque mais detalhes de como está procedendo.
OBS:
Durante processos de inclusão onde o banco não esteja sendo utilizado normalmente, é possível otimizar inclusões desativando INDICES e TRIGGERS.
Abraço
... faço inserções de testes em meus bancos de dados e, a inserção de 30.000 registros e duram 3 min. A inserção de 300.000 não duram entre 30 a 40 min... (inserções em rede)
No seu caso, q vai fazer apenas as inserções, use o IBSQL no lugar de IBQuery ou IBDataset -- haverá um certo ganho
use um SQL de INSERT com parâmetros que seram preenchidos na leitura do arquivo texto.
É sempre bom COMMITAR a transação após inclusão de alguns registros.... más isso depende de vc, vc pode determinar qual o melhor ponto para isso -- (se é q vc pode confirmar alguns registros antes de ter certeza q todos estarão no banco)
Com o IBDataset e IBQuery tb não deveria ser tão lento... caso continue tendo problemas, coloque mais detalhes de como está procedendo.
OBS:
Durante processos de inclusão onde o banco não esteja sendo utilizado normalmente, é possível otimizar inclusões desativando INDICES e TRIGGERS.
Abraço
Responder
Clique aqui para fazer login e interagir na Comunidade :)