Fórum MDO - Unidirectional #52339

19/08/2005

0

Se eu setar a propriedade UniDirectional para True haverá um ganho em peformance?

Quais seria as desvatagens?

[color=green:cda4c08045]Movido de Delphi para Interbase/Firebird[/color:cda4c08045]


Sistemald

Sistemald

Responder

Posts

19/08/2005

Beppe

A vantagem é que ele não aloca buffer para resultados.
A desvantagem é que ele não aloca buffer para resultados.


Responder

Gostei + 0

19/08/2005

Sistemald

Vamos mais a fundo,

Quais as vantagens de se aloca buffer para resultados?

Quais as vantagens de se não aloca buffer para resultados?

Qual você utiliza?


Responder

Gostei + 0

19/08/2005

Afarias

|Quais as vantagens de se aloca buffer para resultados?

vc pode navegar os registros livremente para frente e para tras, pode usar componentes como DBGrid entre outros...


|Quais as vantagens de se não aloca buffer para resultados?

como não há o trabalho de alocar os recursos, a performance é maior


|Qual você utiliza?

cada um tem seu lugar. se a query é aberta apenas para processar registros (while not eof ...) então usa-se UniDirecional, mas se a query é usada num cadastro com DataControls (DBGrid, etc...) então UniDirecional = False.


T+


Responder

Gostei + 0

19/08/2005

Sistemald

Obrigado pelas explicações, serão muito utils no desenvolvimento aqui na empresa.


Responder

Gostei + 0

19/08/2005

Beppe

|Qual você utiliza?

Uso dbExpress, que só oferece o modo unidirecional. Geralmente se usa em conjunto de TClientDataSet, que fará cache dos dados. Já usei uma vez somente DBX, mas o caso era simples, apenas inserts e while not eof.

Nunca testei a performance, mas meu chefe disse que o Zeos(faz buffer) não fica mais lento em relação ao DBX.


Responder

Gostei + 0

19/08/2005

Sistemald

Eu estou utilizando o MDO, ele é um pouco mais lento que o IBX, mas é uma suite brasileira, e promete ter uns recursos interessantes como LoadDefaults e outros, e deverá manter a compatibilidade com as versões mais novas do Firebird.

Mais para frente vou fazer um teste de performance com mario meios de acesso.


Responder

Gostei + 0

21/08/2005

Raserafim

se eu associar um DBGrid a um ClientDataSet (BIdirecional), tem alguma diferença em abilitar ou desabilitar este recurso (UniDirectional) na query?

se UniDirectional estiver como false a performance vai ser melhor mesmo com o ClientDataSet?


Responder

Gostei + 0

22/08/2005

Afarias

|se eu associar um DBGrid a um ClientDataSet (BIdirecional), tem
|alguma diferença em abilitar ou desabilitar este recurso (UniDirectional)
|na query?

se vai usar ClientDataSets sempre use Unidirecional = TRUE


|se UniDirectional estiver como false a performance vai ser melhor
|mesmo com o ClientDataSet?

para poucos registros a diferença na performance não é percebida, mas ainda assim vc vai estar usando mais recursos (memória) do q precisa.


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar