VERSCHUIVINGSLIMIET (NoSQL-query)
VAN TOEPASSING OP: NoSQL
De OFFSET LIMIT
component is een optionele component om over te slaan en vervolgens een aantal waarden uit de query te nemen . Het OFFSET
aantal en het LIMIT
aantal zijn vereist in de component VERSCHUIVINGSLIMIET.
Wanneer OFFSET LIMIT
wordt gebruikt met een ORDER BY
component, wordt de resultatenset geproduceerd door de geordende waarden over te slaan en op te nemen. Als er geen ORDER BY
component wordt gebruikt, resulteert dit in een deterministische volgorde van waarden.
Syntaxis
OFFSET <offset_amount> LIMIT <limit_amount>
Argumenten
Description | |
---|---|
<offset_amount> |
Hiermee geeft u het gehele aantal items op dat de queryresultaten moeten overslaan. |
<limit_amount> |
Hiermee geeft u het gehele aantal items op dat de queryresultaten moeten bevatten. |
Voorbeelden
Voor het voorbeeld in deze sectie wordt deze referentieset met items gebruikt. Elk item bevat een name
eigenschap.
[
{
"name": "Sawyer Miller",
},
{
"name": "Jennifer Wilkins",
},
{
"name": "Hannah Haynes",
},
{
"name": "Isaac Talbot",
},
{
"name": "Riley Johnson",
}
]
Dit voorbeeld bevat een query die gebruikmaakt van de OFFSET LIMIT
-component om een subset van de overeenkomende items te retourneren door één item over te slaan en de volgende drie items te nemen.
SELECT VALUE {
name: e.name
}
FROM
employees e
ORDER BY
e.name
OFFSET 1 LIMIT 3
[
{
"name": "Isaac Talbot"
},
{
"name": "Jennifer Wilkins"
},
{
"name": "Riley Johnson"
}
]
Opmerkingen
- Zowel het
OFFSET
aantal als hetLIMIT
aantal zijn vereist in deOFFSET LIMIT
-component. Als een optioneleORDER BY
component wordt gebruikt, wordt de resultatenset geproduceerd door de geordende waarden over te slaan. Anders retourneert de query een vaste volgorde van waarden. - De RU-kosten van een query met
OFFSET LIMIT
nemen toe naarmate het aantal termen dat wordt verrekend toeneemt. Voor query's met meerdere pagina's met resultaten raden we meestal aan vervolgtokens te gebruiken. Vervolgtokens zijn een 'bladwijzer' voor de plaats waar de query later kan worden hervat. Als u gebruiktOFFSET LIMIT
, is er geen bladwijzer. Als u de volgende pagina van de query wilt retourneren, moet u vanaf het begin beginnen. - U moet gebruiken
OFFSET LIMIT
voor gevallen waarin u items volledig wilt overslaan en clientresources wilt opslaan. U moet bijvoorbeeld gebruikenOFFSET LIMIT
als u naar het 1000e queryresultaat wilt gaan en de resultaten 1 tot en met 999 niet hoeft te bekijken. Op de back-endOFFSET LIMIT
worden nog steeds elk item geladen, inclusief de items die worden overgeslagen. Het prestatievoordeel wordt gemeten in het verminderen van clientresources door te voorkomen dat er items worden verwerkt die niet nodig zijn.