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 aLIMIT
contagem são exigidas naOFFSET LIMIT
cláusula. Se uma cláusula opcionalORDER 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ê usarOFFSET LIMIT
o , 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 usarOFFSET 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.