Ir para conteúdo
Fórum Script Brasil
  • 0

DBF X FIREBIRD


tixa

Pergunta

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 para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...