Ver Mensaje Individual
  #1  
Antiguo 09-09-2025
aposi aposi is offline
Miembro
 
Registrado: dic 2006
Posts: 159
Reputación: 20
aposi Va por buen camino
Velocidad Firedac

Hola,
Tenemos un programa que hasta ahora utilizamos BDE y estamos mirando de migrar a FireDAC
Nos encontramos que las consultas a base de datos es mucho mas lentas.
que creado un programa de test con componentes Firedac y Interbase y la velocidad es muy diferente.


que creado dos conexiones, una con firedac y una con IBdatabase, un query para cada uno y un grid para cada consulta


en Firedac tarda 2351 ms
en IB tarda 182ms


Hay algun parametro para mejorar la velocidad?

Código Delphi [-]
type
  TForm7 = class(TForm)
    FDConnection1: TFDConnection;
    FDQuery1: TFDQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Button1: TButton;
    LabeledEdit1: TLabeledEdit;
    IBDatabase1: TIBDatabase;
    IBQuery1: TIBQuery;
    DataSource3: TDataSource;
    DBGrid3: TDBGrid;
    Button3: TButton;
    LabeledEdit3: TLabeledEdit;
    procedure Button1Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form7: TForm7;

implementation

{$R *.dfm}

procedure TForm7.Button1Click(Sender: TObject);
var
  tInicio, tFin: TDateTime;
  ms: Int64;
begin
  FDQuery1.close;
  tInicio := Now;
  FDQuery1.Open();
  tFin := Now;
  ms := MilliSecondsBetween(tFin, tInicio);
  LabeledEdit1.Text := ms.ToString;
end;



procedure TForm7.Button3Click(Sender: TObject);
var
  tInicio, tFin: TDateTime;
  ms: Int64;
begin
  IBquery1.Close;
  tInicio := Now;
  IBquery1.Open();
  tFin := Now;
  ms := MilliSecondsBetween(tFin, tInicio);
  LabeledEdit3.Text := ms.ToString;
end;

end.
Responder Con Cita