Compartilhar via


LIMITE DE DESLOCAMENTO (consulta NoSQL)

APLICA-SE A: NoSQL

A OFFSET LIMIT cláusula é uma cláusula opcional para ignorare, obter alguns valores da consulta. A contagem OFFSET e a contagemLIMIT são necessárias na cláusula LIMITE DE DESLOCAMENTO.

Quando OFFSET LIMIT é usado com uma cláusula ORDER BY, o conjunto de resultados é produzido ao realizar a ação de ignorar e assumir os valores ordenados. Se nenhuma cláusula ORDER BY for usada, ela resultará em uma ordem determinística de valores.

Sintaxe

OFFSET <offset_amount> LIMIT <limit_amount>

Argumentos

Descrição
<offset_amount> Especifica o número inteiro de itens que os resultados da consulta devem ignorar.
<limit_amount> Especifica o número inteiro de itens que os resultados da consulta devem incluir.

Exemplos

Para os exemplos incluídos nessa seção, usamos esse conjunto de itens de referência. Cada item inclui uma name propriedade .

[
  {
    "name": "Sawyer Miller",
    "team": "Leadership team"
  },
  {
    "name": "Jennifer Wilkins",
    "team": "Leadership team"
  },
  {
    "name": "Hannah Haynes",
    "team": "Leadership team"
  },
  {
    "name": "Isaac Talbot",
    "team": "Leadership team"
  },
  {
    "name": "Riley Johnson",
    "team": "Leadership team"
  }
]

Observação

Nos dados JSON originais, os itens não são classificados.

O primeiro exemplo inclui uma consulta que retorna apenas a name propriedade de todos os itens classificados em ordem alfabética.

SELECT VALUE {
    name: e.name
}
FROM
    employees e
WHERE
    e.team = "Leadership team"
ORDER BY
    e.name
[
  {
    "name": "Hannah Haynes"
  },
  {
    "name": "Isaac Talbot"
  },
  {
    "name": "Jennifer Wilkins"
  },
  {
    "name": "Riley Johnson"
  },
  {
    "name": "Sawyer Miller"
  }
]

O próximo exemplo inclui uma consulta usando a OFFSET LIMIT cláusula para ignorar o primeiro item. O limite é definido como o número de itens no contêiner para retornar todos os valores restantes possíveis. Neste exemplo, a consulta ignora um item e retorna os quatro restantes (de um limite de cinco).

SELECT VALUE {
    name: e.name
}
FROM
    employees e
WHERE
    e.team = "Leadership team"
ORDER BY
    e.name
OFFSET 1 LIMIT 5
[
  {
    "name": "Isaac Talbot"
  },
  {
    "name": "Jennifer Wilkins"
  },
  {
    "name": "Riley Johnson"
  },
  {
    "name": "Sawyer Miller"
  }
]

Este exemplo final inclui uma consulta usando a OFFSET LIMIT cláusula para retornar um subconjunto dos itens correspondentes ignorando um item e pegando os próximos três.

SELECT VALUE {
    name: e.name
}
FROM
    employees e
WHERE
    e.team = "Leadership team"
ORDER BY
    e.name
OFFSET 1 LIMIT 3
[
  {
    "name": "Isaac Talbot"
  },
  {
    "name": "Jennifer Wilkins"
  },
  {
    "name": "Riley Johnson"
  }
]

Comentários

  • A contagem OFFSET e a contagem LIMIT são necessárias na cláusula OFFSET LIMIT. Se uma cláusula ORDER BY opcional for usada, o conjunto de resultados será produzido ao ignorar os valores ordenados. Caso contrário, a consulta retornará uma ordem fixa de valores.
  • A cobrança de RU de uma consulta com OFFSET LIMIT aumentará conforme o número de termos que estão sendo deslocados aumenta. Para consultas que têm várias páginas de resultados, geralmente recomendamos o uso de tokens de continuação. Os tokens de continuação são um "indicador" para o local onde a consulta pode ser retomada posteriormente. Se você usar OFFSET LIMIT, não haverá "marcador". Se você quisesse retornar a próxima página da consulta, teria que começar do início.
  • Você deve usar OFFSET LIMIT para casos em que deseja ignorar completamente os itens e salvar os recursos do cliente. Por exemplo, você deve usar OFFSET LIMIT se quiser pular para o 1000º resultado da consulta sem precisar exibir os resultados de 1 a 999. No back-end, o OFFSET LIMIT ainda carrega os itens, incluindo os ignorados. A vantagem de desempenho é medida na redução de recursos do cliente, evitando o processamento de itens desnecessários.