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 contagemLIMIT
são necessárias na cláusulaOFFSET LIMIT
. Se uma cláusulaORDER 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ê usarOFFSET 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 usarOFFSET LIMIT
se quiser pular para o 1000º resultado da consulta sem precisar exibir os resultados de 1 a 999. No back-end, oOFFSET 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.