Jump to content
Fórum Script Brasil
  • 0

DBF X FIREBIRD


tixa
 Share

Question

Tenho duas tabelas em DBF. TDados e TItens.
TDados tem +/- 120.000 itens
TItens tem +/- 300.000 itens
Fiz a conversão (rotina propria) DBF para FDB.
a Tabela TItens esta relacionada a Tabela TDados.
no Clipper abria as duas tabelas bem rapido, no
Firebird esta demorando bastante (bem mais demorado que no
DBF).

Ex.:
  // firebird - esta rotina demora bastante.
 with DMArq do
      begin
         zqTrans.SQL.Clear;
         zqTrans.SQL.Add('Select MAX(PedNum) as ULTIMO From Dados');
          zqTrans.Open;                                                                               // aqui demora bastante................
         sCodigo := zqTrans.FieldByName('Ultimo').asString;
               try
                  sCodigo := FormatFloat('000000000000000', StrToFloat(sCodigo) + 1);
               except
                  sCodigo := '1';
               end;
      end;

   // dbf - esta rotina é bem rapida
  with DMArqSce.qItemCod do
      begin
         Close;
         DataBaseName := Drive_IniR + '\Sistema\Estoque\' + Nr_Ite;
         Sql.Clear;
         Sql.Add('Select PedNum from TDados order by PedNum');

         Open;
         Last;
     
         sCod := FieldByName('IteCod').asString;
         sCod := Copy(FormatFloat('0000000000', StF(sCod)), 1, 8);
         cCod := StrToFloat(sCod);
         OCpf := IntToStr(Trunc(ccod) + 1);
        CodBar := FormatFloat('00000000', cCod + 1);
        ocpf := IntToStr(StrToInt(Calc_dig(OCpf)));

        result := oCpf; // qItemCod.FieldByName('IteCod').asString;

         Close;
      end;

Assim todas as consultas (abrindo toda a tabela - Open) como filtros, no firebird, são bem mais demorados que no DBF.
Isto é normal?
o Firebird não deveria ser mais rapido que o DBF?
o que eu posso fazer para melhorar o Desempenho?

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

o Firebird não deveria ser mais rapido que o DBF?

ele é mais rapido, se o processador da maquina for mais rapido ( isso voce pode observar ao fazer a configuração do banco de dados usando o EMS QuickDesk ... quando voce tenta colocar uma senha no banco e ele demora + ou - 60 segundos para realilzar a operação )

quando o processador da maquina é rapido, essa operação leva em torno de 4 a 5 segundos

então como sugestão de quem já passou por isso, aconselho a usar o MYSQL ( versão 5.5) ... é tão rapido quanto o DBF e muito estavel ( é dificil ocorrer erros no banco de dados )

outras versões do MYSQL :

http://filehippo.com/download_mysql/history/

abraço

 

Link to comment
Share on other sites

  • 0

A comparação de velocidade que eu faço, é na mesma máquina. Por exemplo tenho um core I5. O DBF é bem mais rápido que o FIREBIRD.

Quanto ao uso do MYSQL, o problema é que já converti para firebird e agora coverter para MYSQL vai dar um trabalhão...

 

Abraços...

Link to comment
Share on other sites

  • 0

eu tambem usava o DBF e achava ele muito rapido.. no entanto com o passar do tempo e o aumento de dados nas tabelas, passaram a ocorrer muitos erros ( principalmente com indices de tabelas)  e perda de dados.

o cliente começou a reclamar muito disso ... então a solução foi eu migrar o banco para MYSQL e fim dos problemas

abraço 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...