[firebase-br] Lentidão

Felipe Caputo felipe.caputo em gmail.com
Seg Maio 13 23:03:21 -03 2013


Esta tabela possui muitos índices?
Como é a mesma query de insert, já pensou em usar o prepare e depois ir
apenas alterando os parâmetros?

Não era para demorar assim, tem mais alguma coisa rodando nesse sistema?

Atenciosamente

Felipe Caputo

AVISO LEGAL "As informações existentes nesta mensagem e nos arquivos
anexados são para uso restrito. A utilização, divulgação, cópia ou
distribuição dessa mensagem por qualquer pessoa diferente do destinatário é
proibida. Se essa mensagem foi recebida por engano, favor excluí-la e
informar ao remetente pelo endereço eletrônico acima.
DISCLAIMER "This email and its attachments may contain privileged and/or
confidential information. Use, disclosure, copying or distribution of this
message by anyone other than the intended recipient is strictly prohibited.
If you have received this email in error, please notify the sender by reply
email and destroy all copies of this message."


Em 13 de maio de 2013 22:28, Jose Luiz de Medeiros <
joseluiz em digitoneletronica.com.br> escreveu:

> 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
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista