[firebase-br] Lentidão
Jose Luiz de Medeiros
joseluiz em digitoneletronica.com.br
Seg Maio 13 22:28:05 -03 2013
boa noite.
tenho essa rotina para inserir uns registros em uma tabela:
if not(qry.IsEmpty)then begin qry.First; while not qry.eof do
begin qry2.Close; qry2.SQL.Clear; try
qry2.SQL.Add('INSERT INTO ITEM_PROD_TFL(ID_TFL,ID_PROD,ABRE,REPOE,SAIDA,' +
'
SALDO,VENDA,ID_TERMINAL,ID_EMPRESA,ID_USER,TIPO)VALUES(:TFL,:PRODUTO,' +
' :ABRE,0,0,:SALDO,0,:TERMINAL,:EMPRESA,:USER,:TIPO)');
qry2.Params[0].AsInteger:=IBCadastro.FieldByName('ID').AsInteger;
qry2.Params[1].AsInteger:=qry.FieldByName('ID_PRODUTO').AsInteger;
qry2.Params[2].AsInteger:=qry.FieldByName('ESTOQUE').AsInteger;
qry2.Params[3].AsInteger:=0;
qry2.Params[4].AsInteger:=IBCadastro.FieldByName('ID_TERMINAL').AsInteger;
qry2.Params[5].AsInteger:=IBCadastro.FieldByName('ID_EMPRESA').AsInteger;
qry2.Params[6].AsInteger:=IBCadastro.FieldByName('ID_USER').AsInteger;
qry2.Params[7].AsString:=qry.FieldByName('CEF').AsString;
qry2.ExecSQL; qry.Next; except showmessage('Erro
ao inserir item tfl'); end; end;
DM.IBTrans.CommitRetaining; end;
Com esse laço insiro 25 registros na tabela item_prod_tfl, essa tabela já
tem 17200 registros. esse insert demora uns 2 minutos aqui usando firebird
2.1 no windows xp ou windows é uns 3 minutos usando o firebird 2.5 no
windows 8. esse mesmo procedimento quando a tabela estava menor rodava em
alguns segundos. é normal essa lentidão?já fiz backup e restore pelo
ibexpert e não resolveu...
grato:
Jose Luiz de Medeiros
-----------------------------------
Programmer & TI Professional
:: delphi - php - firebird - mysql ::
(31)9628-4764
Mais detalhes sobre a lista de discussão lista