[firebase-br] ApplyUpdates(0) Lento

Sandi Trentin sandi em sysmo.com.br
Seg Maio 23 15:00:17 -03 2005


Utilizado para desenvolvimento Kylix/Delphi (CLX) e banco de dados 
Firebird 1.5,
estou enfrentando problemas com a velocidade dos ApplyUpdates(0), 
(TSqlDataSet, TDataSetProvider, TClientDataSet).
mas somente no Linux,
O que acontece é o seguinte :
Em uma aplicação são atualizado 8000 registros em uma tabela e inseridos 
os mesmos 8000 registros em um segunda tabela.
A chave destes registros, no momento da gravação estão armazenados em um 
TStringList, que são lidos,  na ordem que estão armazenados no 
TStringList, e juntamente com outras informações anteriormente 
informadas pelo usuário e outras calculadas pela aplicação são 
atualizados/gravados no banco de dados em duas tabelas o tempo para 
efetuar o processo, que após disparada não tem interferência do usuário 
até ser finalizado leva entre 8 a 10 minutos no WINDOWS e entre 50 a 60 
minutos no LINUX.


- Estiver verificando em emails anteriores na lista sobre o assunto, mas 
não encontrei uma solução para esta diferença de velocidade entre o 
Linux/Windows.
- Sobre o VendorLib no dbxdrivers, tanto no Linux quanto no Windows, não 
obtive diferença de velocidade alterando entre gds32 e fbclient.
- Os 8000 registros citados foram utilizados para testes, em testes com 
quantidades menores também foi detectado essa difetença entre a 
aplicação nos dois SO's
- Quanto ao TStringList também foi detectado uma diferença no tempo de 
gravação mas não de leitura entre a aplicação nos dois SO's que já foi 
sanada, utilizado "TStringList.Sorted=true", mas não foi encontrado 
diferença no tempo de leitura do TStringList.

 
------------------------
Sandi Trentin





Mais detalhes sobre a lista de discussão lista