Digite para filtrar os verbetes do Glossário.

    Banco de dados · Developer Workspace

    O que é Offset?

    Offset indica quantos itens pular em uma consulta paginada. Entenda o cálculo da página, a ordenação e os efeitos de alterações na lista durante a leitura.

    Também chamado de: deslocamento, deslocamento de página, skip

    Quantas linhas pular no resultado

    Offset é o deslocamento usado para pular uma quantidade de itens antes de devolver uma parte do resultado. Combinado a um limite, permite selecionar trechos de uma lista. Ele se refere à posição no resultado da consulta, não ao valor do identificador dos registros.

    Se uma consulta ordenada usa limite dez e offset zero, retorna até os dez primeiros itens. Com offset dez, pula os dez primeiros e retorna até os dez seguintes. O filtro e a ordem precisam permanecer coerentes entre essas chamadas.

    Os identificadores não precisam ser consecutivos. Se existem contatos com IDs 2, 7 e 20, pular uma linha descarta o primeiro item do resultado, e não todos os IDs menores ou iguais a um. Essa diferença separa deslocamento de filtro por chave.

    Como a página é calculada

    Segundo trecho de uma lista ordenadasql
    SELECT id, nome
    FROM contatos
    ORDER BY id
    LIMIT 10 OFFSET 10;

    Com páginas numeradas a partir de um, o deslocamento costuma ser calculado por (pagina - 1) * tamanho. Para a página três com dez itens, o offset é vinte. A API pode adotar outra convenção, que precisa ser confirmada.

    ORDER BY id oferece uma ordem determinística quando id é único. Ordenar apenas por nome pode deixar empates, e a ordem entre linhas empatadas não fica garantida. Acrescentar um desempate evita depender de uma sequência incidental do banco.

    O que muda durante a navegação

    Esse comportamento pode ser aceitável em algumas interfaces de navegação, mas inadequado para uma exportação que precisa examinar cada registro. A escolha depende do objetivo e das garantias oferecidas pela consulta.

    O custo das páginas distantes

    O banco precisa considerar as linhas puladas para chegar ao trecho solicitado. Um offset grande pode aumentar o trabalho mesmo quando a resposta contém poucos itens. O plano de execução, os índices e os filtros influenciam esse custo.

    Não existe um tamanho universal a partir do qual offset deixa de servir. Meça as consultas relevantes e observe como o tempo varia nas páginas mais distantes. A facilidade de acessar uma página arbitrária pode ser útil quando esse comportamento é necessário.

    Quando comparar com cursor

    Paginação por chave ou cursor pode continuar a partir de valores ordenados, evitando certos deslocamentos e parte do trabalho de pular linhas. Ela exige um contrato e uma ordenação compatíveis. Também não resolve automaticamente toda mudança concorrente ou toda necessidade de fotografia consistente.

    Em desenvolvimento, crie contatos com a mesma data e compare a ordem retornada. Insira um contato entre consultas e remova outro no início da lista para observar os deslocamentos. Confira também o retorno quando a consulta não encontra itens. O verbete de cursor de paginação explica outra forma de representar o ponto de continuação.

    Dúvidas frequentes

    Perguntas frequentes sobre Offset

    Offset dez começa no registro de id dez?
    O deslocamento pula dez posições do resultado ordenado. Ele não se refere ao valor do identificador, que pode ter lacunas e outra sequência.
    ORDER BY resolve qualquer repetição entre páginas?
    Uma ordem determinística resolve empates, mas inserções e exclusões podem deslocar a coleção entre chamadas. A lista não fica congelada apenas pela ordenação.
    Por que páginas distantes podem demorar?
    O banco precisa considerar as linhas puladas antes de devolver o trecho. O custo depende também de filtros, índices e plano de execução.
    Offset deve ser evitado em toda aplicação?
    Ele pode atender a listas e navegação por páginas arbitrárias. A adequação depende do volume, das mudanças concorrentes e das consultas medidas.

    Para continuar

    Recursos relacionados

    Aplicação na formação

    Developer Workspace

    O offset define o deslocamento das consultas paginadas usadas para percorrer listagens na interface.

    Conhecer a formação
    Capa da Formação Developer Workspace

    Fontes consultadas

    Referências deste verbete

    Este verbete ajudou você?

    Planos Promovaweb

    Tire seus projetos do papel

    O Plano Martech cobre automação e atendimento. O Plano IA Makers acrescenta desenvolvimento com IA, enquanto o Plano Founders trata de gestão de negócios. Todos são anuais.

    Plano Martech

    Para conectar automação, marketing e atendimento com infraestrutura própria.

    R$ 897

    R$ 597/ano

    • Grade de automação, atendimento, marketing e análise de indicadores
    • Instalador Exclusivo Promovaweb
    • n8n, Evolution API, Chatwoot e Mautic
    • Trilha DevOps incluída
    • Encontros ao vivo (terça e quinta)
    • Comunidade e acompanhamento
    Conhecer o plano

    Plano Founders

    Plano anual para fazer um projeto de tecnologia avançar, com 90 dias de mentoria intensiva. R$ 1.997 à vista ou até 10x de R$ 219 no cartão.

    R$ 1.997/ano

    • 12 meses de acesso ao Founders
    • 90 dias de mentoria intensiva, um encontro por dia útil
    • Dia de conteúdo (terça e quinta) e War Room (segunda, quarta e sexta)
    • Encontro semanal em grupo após a fase intensiva
    • Formação Vibe Coding incluída no plano anual
    • Consultoria individual de até duas horas (bônus)
    Conhecer o plano