TudoSobre.dev

O universo dev ao seu alcance.

TudoSobre.dev

O universo dev ao seu alcance.

[PostgreSQL] Paginação no PostgreSQL, simples e rápido

Trabalhar com paginação no PostgreSQL é bastante simples e é um recurso que colabora muito com a otimização de consultas que podem retornar muitos registros. Basicamente são usadas as palavras-chave LIMIT e OFFSET.

A palavra-chave LIMIT, como o próprio nome diz, serve para limitar o número de registros retornados em uma consulta. Se o resultado de uma consulta possui 100 registros, mas você quer que retorne apenas 10, basta fazer assim:

SELECT * FROM tabela LIMIT 10

Já a palavra-chave OFFSET serve para que sejam retornados os registros de uma consulta a partir um certo número, ignorando os anteriores. Por exemplo, se o resultado de uma consulta possui 50 registros e você especificou OFFSET 10, os 10 primeiros serão ignorados, retornando apenas os próximos.

SELECT * FROM tabela OFFSET 10


Como fazer paginação de resultados em PostgreSQL?

Em aplicações diversas, é muito comum usarmos a paginação de resultados, onde uma lista de dados é apresentada, e logo abaixo dela existem alguns links, como próximo, primeiro, último, ou também links com os números das páginas, como no exemplo abaixo:

Ao clicar em um desses links, são exibidos apenas os registros daquela página, garantindo performance ao apresentar os resultados.

Para realizar a paginação, nós usamos as palavras-chave LIMIT e OFFSET juntas:

SELECT * FROM tabela
    LIMIT número_de_itens_por_página
    OFFSET(página - 1) * número_de_itens_por_página

Para exibir os registros da página 3, com 10 registros por página:

SELECT * FROM tabela
    LIMIT 10
    OFFSET(3 - 1) * 10

Simples e rápido 🙂

[PostgreSQL] Paginação no PostgreSQL, simples e rápido

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para o topo