Paginação, filtros e ordenação
Paginação por deslocamento ou por cursor, e por que a primeira degrada com tabelas grandes e repete itens quando chegam dados novos.
Paginação é devolver uma lista em partes, em vez de tudo de uma vez. Existem duas formas principais: por deslocamento (pular N itens) e por cursor (continuar a partir do último item visto).
Toda lista de uma API cresce. Sem paginação, uma rota que devolvia 50 itens passa a devolver milhões e derruba o servidor. Com a paginação errada, as páginas finais ficam lentas e itens aparecem repetidos.
- A paginação por deslocamento fica mais lenta a cada página.
- Ela também repete ou pula itens quando chegam dados novos entre as páginas.
- A paginação por cursor tem custo constante e não repete itens.
- A ordenação precisa de um desempate único, como o identificador.
- Limite sempre o tamanho máximo da página.