[firebase-br] Cursores FB RC5
Marciano Bandeira
marciano.bandeira em bol.com.br
Qui Out 5 00:35:38 -03 2006
Salve lista
Após a decepção com os cursores no fb 2.0 rc 4 com relação ao for select, uma surpresa o mesmo teste realizado no fb 2.0 rc5, o tempo de fetch nas duas maneiras foi praticamente o mesmo.
Teste feito no rc5
Create Table Clientes
(
CODIGO Integer,
NOME VarChar(40)
)
foi inserido um milhão de registros nesta tabela...
... teste feito com For Select
Execute Block
Returns
(
CODIGO Integer,
NOME VarChar(40)
)
As
Begin
For Select
*
From
Clientes
Into
:CODIGO,
:NOME
Do
Suspend;
end
Prepare time = 0ms
Execute time = 34s 656ms
Avg fetch time = 0,03 ms
teste feito com cursores...
Execute Block
Returns
(
CODIGO Integer,
NOME VarChar(40)
)
As
declare variable c cursor for (Select * From Clientes);
Begin
Open c;
Fetch c into :CODIGO,:NOME;
While (row_count > 0) Do
begin
Suspend;
Fetch c into :CODIGO,:NOME;
end
Close c;
end
Prepare time = 16ms
Execute time = 28s 422ms
Avg fetch time = 0,03 ms
PS:
O Mesmo teste feito no RC4, o cursor demorou mais ou menos uns 4 minutos pra trazer todos os registros, ja o for select foi questão de uns 30 e alguma coisa segundos (se naum me falha a memória).
Acabei de instalar o RC5 e ainda nao li o release notes, vou fazer isso, mais alguém sabe se houve alguma melhoria na performance dos cursores?
Grato
Marciano Bandeira
Mais detalhes sobre a lista de discussão lista