Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-09-2025
aposi aposi is offline
Miembro
 
Registrado: dic 2006
Posts: 159
Poder: 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
  #2  
Antiguo 09-09-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Muy raro porque la velocidad de ejecución debería ser justo al contrario.
La más lenta el BDE, luego IBExpress y lo más rápidos FireDAC.

En todo caso, habría que hacer una prueba con Interbase (para probar temas de compatibilidad).
Y revisar los temas de configuración.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 09-09-2025
marco3k marco3k is offline
Miembro
 
Registrado: feb 2015
Posts: 106
Poder: 12
marco3k Va por buen camino
Habrá que ver como esta estructurado tu consulta y si las tablas tienen los indices necesarios. En bde trabaja con tablas planas y muchas veces se usa el objeto Table trayendo todos los registro, en modo local quizás no se note la diferencia pero en gestores de base de datos como Firebird y demás, no se procede de esa manera (traer todos los registros y luego buscar el que necesites), se debe buscar por un filtro(este filtro debe tener un indice de búsqueda) en la consulta SQL y traer el registro que necesitas.
Responder Con Cita
  #4  
Antiguo 09-09-2025
aposi aposi is offline
Miembro
 
Registrado: dic 2006
Posts: 159
Poder: 20
aposi Va por buen camino
la consulta el es un simple :
Código SQL [-]
Select * from cliente


En la tabla hay 600 clientes
Responder Con Cita
  #5  
Antiguo 09-09-2025
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Si vas a trabajar con firebird entonces IBX, es lo más rápido y totalmente enfocado a interbase/firebird.
Si vas a usar distintas entonces FireDac.
Responder Con Cita
  #6  
Antiguo 09-09-2025
aposi aposi is offline
Miembro
 
Registrado: dic 2006
Posts: 159
Poder: 20
aposi Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Si vas a trabajar con firebird entonces IBX, es lo más rápido y totalmente enfocado a interbase/firebird.
Si vas a usar distintas entonces FireDac.


la intencion es trabajar con distintas bases de datos, pero el problema es la velocidada en Firedac
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Velocidad Firedac Vs ADO oscarac Varios 3 10-05-2019 18:14:52
Dif en velocidad dao_ar Firebird e Interbase 2 23-11-2009 17:06:05
Velocidad Interbase fjardelphi Firebird e Interbase 5 01-02-2005 09:45:04
Velocidad en red Jordy Varios 2 11-01-2005 09:54:58


La franja horaria es GMT +2. Ahora son las 02:04:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi