Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-09-2017
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Velocidad Firedac Vs ADO

recientemente instale Xe7 y quise comprobar la conexión Firedac (Natica segun entiendo), me habían dicho que es mucho mas rápida, asi que hice una prueba simple

me conecté mediante Firedac y Ado a una misma base de datos, accediendo a la informacion de una tabla con 38,900 registros
aqui los comentarios

En modo diseño, la conexión de Firedac demoro menos de 1 segundo, mientras que Ado demoro unos 4 segundos
hice un barrido de la data y mientras en Ado se demoro 9 segundos, en Firedac solo demoro 2

preguntas...

que tan potente es Firedac comparado con Ado o con otros "componentes" para acceder o recopilar informacion en bases de datos grandes?

esta fue la prueba que hice

Código Delphi [-]
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, FireDAC.Stan.Intf, FireDAC.Stan.Option,
  FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
  FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.MSSQL,
  FireDAC.Phys.MSSQLDef, FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf,
  FireDAC.DApt, Vcl.StdCtrls, Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client,
  Vcl.Grids, Vcl.DBGrids, Data.Win.ADODB, FireDAC.VCLUI.Wait, FireDAC.Comp.UI,
  Vcl.ExtCtrls;

type
  TForm1 = class(TForm)
    FDConnection1: TFDConnection;
    FDQuery1: TFDQuery;
    Button1: TButton;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    FDGUIxWaitCursor1: TFDGUIxWaitCursor;
    DBGrid2: TDBGrid;
    DataSource2: TDataSource;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    Button2: TButton;
    Timer1: TTimer;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  FDConnection1.Connected := False;
  FDConnection1.Connected := True;
  FDQuery1.OpenOrExecute;
  Label1.Caption := TimeToStr(time);
  FDQuery1.First;
  while not FDQuery1.eof do
  Begin
    FDQuery1.Next;
  End;
  Label2.Caption := TimeToStr(time);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  ADOConnection1.Connected := False;
  ADOConnection1.Connected := True;
  ADOQuery1.Open;
  adoQuery1.First;
  Label3.Caption := TimeToStr(time);
  while not adoQuery1.eof do
  Begin
    adoQuery1.Next;
  End;
  Label4.Caption := TimeToStr(time);

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ADOConnection1.Connected := False;
  FDConnection1.Connected := False;
end;

end.

aunque cambiando esta parte
visto en esta pagina

http://edn.embarcadero.com/article/27790

Código Delphi [-]
ADOQuery1.First;
  Label5.Caption := TimeToStr(time);
  while Not ADOQuery1.Recordset.EOF do
  begin
    ADOQuery1.Recordset.Movenext;
  end;
  Label6.Caption := TimeToStr(time);

Con ADO demoro menos de 1 segundo, aunque el registro no se mueve..
__________________
Dulce Regalo que Satanas manda para mi.....

Última edición por oscarac fecha: 04-09-2017 a las 23:27:10.
Responder Con Cita
 



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
Problema con FireDAC y DB2 probles2 DB2 13 21-11-2014 08:54:27
Uso de Firedac jafera Conexión con bases de datos 2 12-11-2014 12:46:25
Problema con FireDac darkamerico Conexión con bases de datos 2 04-11-2014 14:05:16
Migracion BDE a FireDac rodker Varios 3 23-07-2014 20:55:17
Firedac Aldo Conexión con bases de datos 2 16-12-2013 22:26:07


La franja horaria es GMT +2. Ahora son las 03:41:53.


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