Endendo que a questão está muito mais para a ótica de um aplicativo do que
para o SGBD, mas aproveitando esta dúvida eu gostaria de perguntar o
seguinte: em um caso como esse, é mais fácil (ou dinâmico) a manipulação de
um cursor, onde o postgres se preocupa com o dimensionamento do resultado ou
utilizando LIMIT e OFFSET as consultas são de alguma forma otimizadas?

[]´s

2009/2/18 Osvaldo Kussama <[email protected]>

> 2009/2/18 sergio santos <[email protected]>:
> >
> > tô me referindo a paginação em SQL
> > exemplo: se minha consulta retornar 1000 registros tenho que passar um
> > parâmetro para o banco informando que quero exibir somente os registros
> > entre 150 e 200 ou seja, serão exibidos 50 registro, isso de forma
> dinâmica
> > fazendo com que a minha consulta sql faça uma paginação.
> >
>
>
> Então, reafirmando o que Jota já havia dito, utilize as cláusulas
> LIMIT e OFFSET do SELECT.
> http://www.postgresql.org/docs/current/interactive/sql-select.html
>
> Para o seu exemplo:
> SELECT * FROM sua_tabela OFFSET 150 LIMIT 50 ORDER BY x;
>
> Para variar o OFFSET ou faça isso em sua aplicação ou crie uma função
> em que o valor do offset seja o parâmetro ou utilize um
> PREPARE/EXECUTE:
> http://www.postgresql.org/docs/current/interactive/sql-prepare.html
>
> Osvaldo
>  _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
José de Mello Júnior
41.9957-2007
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a