Les composants d'access aux données FireDAC sont plus lents que DBExpress?

J'ai migré les composants d'access à la database dans notre application Delphi XE5 de DBExpress à FireDAC.

Donc, où j'utilisais un TSQLConnection / TSQLDataSet, j'utilise maintenant TFDConnection / TFDQuery.

Mes observations jusqu'à présent sont que le return de 125 000 lignes de données (via une simple requête SELECT *) de notre database SQL Server 2014 dans le cloud vers l'application cliente prend environ deux fois plus de time qu'avec les composants DBExpress.

Lorsque j'exécute le même test sur la même table, avec l'application et le server SQL sur la même machine, les composants FireDAC sont légèrement plus rapides.

Est-ce normal, ou y a-t-il quelque chose que je pourrais mal faire? Je ne suis pas très familier avec les composants FireDAC, donc les pointeurs seraient très utiles.

Le code DBExpress:

SQL_dataset:=TSQLDataSet; .... SQL_dataset.CommandType:=ctQuery; SQL_dataset.CommandText:='SELECT * FROM TABLE'; SQL_dataset.Open; If SQL_dataset.IsEmpty=False then begin SQL_dataset.First; While not SQL_dataset.Eof do begin { RETURN THE RECORDS } SQL_dataset.Next; end; end; 

Le code FireDAC:

 SQL_query:=TFDQuery; ... SQL_query.SQL.Text:='SELECT * FROM TABLE'; SQL_query.Open; 

… puis selon le code DBExpress.

Basé sur la search en ligne, j'ai essayé des variations de ce qui suit, mais rien ne semble faire beaucoup de différence:

 SQL_query.ResourceOptions.ParamCreate :=False; SQL_query.ResourceOptions.ParamExpand :=False; SQL_query.ResourceOptions.MacroCreate :=False; SQL_query.ResourceOptions.EscapeExpand :=False; SQL_query.ResourceOptions.DirectExecute:=True; SQL_query.FetchOptions.CursorKind :=ckDefault; SQL_query.FetchOptions.Mode :=fmOnDemand; SQL_query.FetchOptions.RowsetSize :=1000; SQL_query.FetchOptions.Unidirectional :=True; SQL_query.FetchOptions.Items := SQL_query.FetchOptions.Items-[fiMeta]; SQL_query.UpdateOptions.ReadOnly :=True; SQL_query.DisableControls; 

Tout conseil ou commentaire serait très apprécié.