segunda-feira, 7 de maio de 2007

Recuperando subconjuntos de linhas...

Em certas situações precisamos recuperar os dados em grupos de registros, por exemplo em pesquisas apresentadas ao usuário. Quem faz sites para a web se depara freqüentemente com esta situação. O PostgreSQL apresenta variações do comando select que permitem que se selecione exatamente os dados a serem buscados, com ganho de desempenho.

A sintaxe abaixo, recupera os primeiros 10 registros, utilizando a cláusula LIMIT:

select *
from TABELA
order by evento
limit 10 <==== Ao invés do número 10, pode ser atribuído qualquer número inteiro positivo.

A sintaxe abaixo, recupera os primeiros 10 registros, a partir do décimo quinto, utilizando as cláusulas LIMIT e OFFSET:

select *
from TABELA
order by evento
limit 10 offset 15

O emprego destas sinmtaxes economiza muito tempo de desenvolvimento e o desempenho das aplicações. No entanto, deve ser evitado caso sua aplicação seja portável, pois outros bancos de dados não suportam esta funcionalidade, ou a implementam utilizando outra sintaxe.

Obs: Scripts testados no PostgreSQL 8.2.

Nenhum comentário: