FireDAC lento
29/09/2015
0
Boa tarde.
Usando Delphi 7, FireDAC e FireBird 2.5, uma rotina demora cerca de 4 segundos.
Se ao invés de FireDAC, usar o IBX, a mesma rotina demora cerca de 1 segundo.
A rotina consiste em fazer um while (loop) com uma instrução SELECT SUM.
O while executa a instrução cerca de 150 vezes.
Há alguma configuração na query do FireDAC que possa ser alterada para ficar mais rápida?
Obrigado.
Usando Delphi 7, FireDAC e FireBird 2.5, uma rotina demora cerca de 4 segundos.
Se ao invés de FireDAC, usar o IBX, a mesma rotina demora cerca de 1 segundo.
A rotina consiste em fazer um while (loop) com uma instrução SELECT SUM.
O while executa a instrução cerca de 150 vezes.
Há alguma configuração na query do FireDAC que possa ser alterada para ficar mais rápida?
Obrigado.
Andrey
Curtir tópico
+ 0
Responder
Post mais votado
06/06/2017
Sim, no meu caso bastou remover a opção MetaData de FetchOptions.Items da FDQuery.
A opção é: Query.FetchOptions.Items (fiMeta).
Documentado e recomendado no manual do FireDAC nas páginas 80 e 855.
O FireDAC permite uma infinidade de configurações, estudar o manual é importantíssimo para conseguir otimizar seu uso.
Mas, deve-se levar em conta que o IBX foi feito para o Interbase/Firebird, portanto roda de forma otimizada, o FireDAC é mais genérico, portanto, por mais que você configure, ainda assim pode ficar um pouco mais lento.
A opção é: Query.FetchOptions.Items (fiMeta).
Documentado e recomendado no manual do FireDAC nas páginas 80 e 855.
O FireDAC permite uma infinidade de configurações, estudar o manual é importantíssimo para conseguir otimizar seu uso.
Mas, deve-se levar em conta que o IBX foi feito para o Interbase/Firebird, portanto roda de forma otimizada, o FireDAC é mais genérico, portanto, por mais que você configure, ainda assim pode ficar um pouco mais lento.
Andrey
Responder
Mais Posts
Clique aqui para fazer login e interagir na Comunidade :)