Definição
Paginação é a divisão de um conjunto de resultados em partes recuperáveis. Em vez de entregar tudo de uma vez, o servidor devolve um trecho por chamada, com indicação de onde continuar.
Partes, tamanho e ordenação
Uma coleção é dividida em páginas de tamanho definido. A ordenação fixa a sequência, e a indicação de continuação aponta para a próxima parte. O consumidor repete a leitura até esgotar o conjunto.
SELECT * FROM clientes
ORDER BY id
LIMIT 10 OFFSET 0;
-- próxima: OFFSET 10
-- seguinte: OFFSET 20Cada página deve ter tamanho e ordem estáveis para que a continuação faça sentido. O consumidor segue a indicação de continuação até a última parte, e a navegação termina quando o servidor indica que não há mais trechos.
O tamanho do conjunto nem sempre é conhecido
Ler somente a primeira resposta não garante que todos os registros tenham sido recebidos. O volume total pode mudar enquanto a navegação ocorre, e a divisão em partes apenas organiza a entrega. A aplicação precisa decidir quando parar com base na indicação de continuação.
Falha comum e como verificar
A falha mais comum é acreditar que a primeira resposta traz o conjunto inteiro e encerrar a leitura cedo, perdendo registros que ficaram nas páginas seguintes. Também é comum definir uma página com tamanho fixo sobre uma lista que cresce no meio da navegação, o que desloca os itens e gera repetição. Para verificar, percorra todas as páginas de uma lista conhecida e confira se a soma dos trechos equivale ao total de registros, sem sobreposição nem lacuna. Quando a contagem final não fecha, a paginação está perdendo conteúdo e a aplicação precisa seguir a indicação de continuação até o fim.
Veja o deslocamento que escolhe a parteDúvidas frequentes
Perguntas frequentes sobre Paginação
- Paginar muda a quantidade total de registros?
- Não. A paginação divide a entrega. O conjunto completo continua existindo no servidor.
- A primeira resposta traz tudo?
- Não. Ler somente a primeira resposta não garante que todos os registros tenham sido recebidos.
- Toda paginação usa número de página?
- Não. Há paginação por número de página, por offset e por cursor, entre outras.
Para continuar
Recursos relacionados
Documentação
PostgreSQL: LIMIT and OFFSET
Documenta a divisão de resultados em trechos na consulta.
Abrir recursoDocumentação
Stripe API: pagination
Mostra como uma API pública entrega listas paginadas.
Abrir recursoAplicação na formação
Developer Workspace
Na Formação Developer Workspace, a paginação organiza a entrega de listas e define como a interface continua a busca.
Conhecer a formaçãoFontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.