Encontrei isto no manual:

36.7.1.2 RETURN NEXT

Note
The current implementation of RETURN NEXT for PL/pgSQL
stores the entire result set before returning from the
function, as discussed above. That means that if a
PL/pgSQL function produces a very large result set,
performance may be poor: data will be written to disk
to avoid memory exhaustion, but the function itself
will not return until the entire result set has been
generated. A future version of PL/pgSQL may allow
users to define set-returning functions that do not
have this limitation. Currently, the point at which
data begins being written to disk is controlled by the
work_mem configuration variable. Administrators who
have sufficient memory to store larger result sets in
memory should consider increasing this parameter



--- Joao <[EMAIL PROTECTED]> escreveu:

> eu acho q depende como vc escreveu sua SP
> ----- Original Message ----- 
> From: "marlon david de souza" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Thursday, May 04, 2006 2:56 PM
> Subject: Re: [PostgreSQL-Brasil] Otimização de
> consulta
> 
> 
> Creio que não fui bem entendido.
> Para ficar mais claro, segue abaixo um exemplo:
> 
>   - Consulta executada no Firebird:
> 
>   select first 1 * from LISTA_CLIENTES('todos'); /*
> stored-procedure que
> retorna 10.000 linhas. */
> 
>   Ao executar o comando acima, usando o utilitário
> ISQL, a resposta me é 
> dada
> em menos de 1 segundo.
> 
> 
>   - Consulta executada no PostgreSQL:
> 
>   select * from LISTA_CLIENTES('todos') limit 1; /*
> função que retorna 
> 10.000
> linhas. */
> 
>   Ao executar o comando acima, usando o utilitário
> PSQL, a resposta me é 
> dada
> em cerca de 2 minutos.
> 
> 
>   A diferença de tempo ocorre porque o Firebird não
> espera a SP terminar 
> para
> então dar uma resposta.  Já o Post espera a função
> terminar para então dar a
> resposta.
> 
> Em Qui 04 Mai 2006 19:45, Giancarlo Rubio escreveu:
> > marlon david de souza disse:
> > > Boa tarde a todos,
> > >
> > >   No Firebird, ao realizar consultas contendo a
> cláusula "first", mas 
> > > sem
> > >  usar ordenação (order by), é retornado quase
> que instantaneamente as
> > > linhas
> > >  selecionadas.
> > >Isso porque o Firebird não espera que a consulta
> termine
> > > para
> > >  então retornar as primeiras "N" linhas. Já no
> Postgres isso não
> > > acontece, visto que ele executa toda a consulta
> para então retornar o 
> > > que
> > > foi determinado.
> >
> > Ja leu a documentacao??
> >
> > Td q firebird faz o postgresql faz e melhor..
> >
> > >Por causa disso temos casos no sistema que, com o
> Firebird,
> > > um
> > > processo leva 1 segundo para processar enquanto
> que no Postgres leva 
> > > mais
> > > de
> > > 2 minutos.
> > >   Alguém tem conhecimento se existe alguma
> previsão de que futuramente o
> > > Postgres passe a trabalhar de forma semelhante?
> >
> > Ja faz tempo q utiliza isso desde os tempos de
> postgres se nao me engano
> >
> > >   Caso não exista, alguém que tenha acesso
> poderia sugerir essa
> > > implementação
> > > para os desenvolvedores do Post?
> >
> > Select linha1 FROM tabelax LIMIT 1
> >
> > Uauuuuuuuuuuuuuuuuuuu
> >
> > Select linha1 FROM tabelax LIMIT 1 OFFSET 30
> >
> > (apenas 1 linha iniciando da linha 30
> >
> > Giancarlo Rubio
> >
> > > Sem mais,
> > >
> > > ----------------------
> > > Marlon David de Souza
> > > Desenvolvimento
> > > Sysmo Informática Ltda
> _______________________________________________
> Grupo de Usuários do PostgreSQL no Brasil
> http://www.postgresql.org.br
> 
> _______________________________________________
> Grupo de Usuários do PostgreSQL no Brasil
> http://www.postgresql.org.br
> 



                
_______________________________________________________ 
Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular e 
anti-spam realmente eficaz. 
http://br.info.mail.yahoo.com/
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br

Responder a