Partilhar via


OFFSET LIMIT (consulta NoSQL)

APLICA-SE A: NoSQL

A OFFSET LIMIT cláusula é uma cláusula opcional para ignorar e, em seguida, obter algum número de valores da consulta. A OFFSET contagem e a LIMIT contagem são exigidas na cláusula OFFSET LIMIT.

Quando OFFSET LIMIT é usado com uma ORDER BY cláusula, o conjunto de resultados é produzido fazendo skip e assumindo os valores ordenados. Se nenhuma ORDER BY cláusula for usada, isso resultará em uma ordem determinística de valores.

Sintaxe

OFFSET <offset_amount> LIMIT <limit_amount>

Argumentos

Description
<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 o exemplo nesta seção, este conjunto de referência de itens é usado. 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"
  }
]

Nota

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

O primeiro exemplo inclui uma consulta que retorna somente 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"
  }
]

Este próximo exemplo inclui uma consulta usando a OFFSET LIMIT cláusula para ignorar o primeiro item. O limite é definido para 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 tomando 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"
  }
]

Observações

  • Tanto a OFFSET contagem como a LIMIT contagem são exigidas na OFFSET LIMIT cláusula. Se uma cláusula opcional ORDER BY for usada, o conjunto de resultados será produzido ignorando os valores ordenados. Caso contrário, a consulta retorna uma ordem fixa de valores.
  • A cobrança de RU de uma consulta aumenta à medida que OFFSET LIMIT o número de termos que estão sendo compensados aumenta. Para consultas com várias páginas de resultados, normalmente recomendamos o uso de tokens de continuação. Os tokens de continuação são um "marcador" para o local onde a consulta pode ser retomada posteriormente. Se você usar OFFSET LIMITo , não há "favorito". 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 você gostaria de ignorar itens inteiramente e economizar recursos do cliente. Por exemplo, você deve usar OFFSET LIMIT se quiser pular para o resultado da 1000ª consulta e não tiver necessidade de exibir os resultados de 1 a 999. No back-end, OFFSET LIMIT ainda carrega cada item, incluindo os itens que são ignorados. A vantagem de desempenho é medida na redução dos recursos do cliente, evitando o processamento de itens que não são necessários.