OFFSET LIMIT (NoSQL-fråga)
GÄLLER FÖR: NoSQL
- OFFSET LIMIT
satsen är en valfri sats att hoppa över och sedan ta ett antal värden från frågan. Antalet OFFSET
och antalet LIMIT
krävs i OFFSET LIMIT-satsen.
När OFFSET LIMIT
används med en ORDER BY
-sats skapas resultatuppsättningen genom att hoppa över och ta på de ordnade värdena. Om ingen ORDER BY
sats används resulterar det i en deterministisk ordning av värden.
Syntax
OFFSET <offset_amount> LIMIT <limit_amount>
Argument
Description | |
---|---|
<offset_amount> |
Anger det heltalsantal objekt som frågeresultatet ska hoppa över. |
<limit_amount> |
Anger det heltalsantal objekt som frågeresultatet ska innehålla. |
Exempel
I exemplet i det här avsnittet används den här referensuppsättningen med objekt. Varje objekt innehåller en name
egenskap.
[
{
"name": "Sawyer Miller",
},
{
"name": "Jennifer Wilkins",
},
{
"name": "Hannah Haynes",
},
{
"name": "Isaac Talbot",
},
{
"name": "Riley Johnson",
}
]
Det här exemplet innehåller en fråga som använder OFFSET LIMIT
-satsen för att returnera en delmängd av de matchande objekten genom att hoppa över ett objekt och ta nästa tre.
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"
}
]
Kommentarer
OFFSET
Både antalet ochLIMIT
antalet krävs i -OFFSET LIMIT
satsen. Om en valfriORDER BY
sats används genereras resultatuppsättningen genom att hoppa över de ordnade värdena. Annars returnerar frågan en fast ordning med värden.- RU-avgiften för en fråga ökar
OFFSET LIMIT
när antalet termer som förskjuts ökar. För frågor som har flera sidor med resultat rekommenderar vi vanligtvis att du använder fortsättningstoken. Fortsättningstoken är ett "bokmärke" för den plats där frågan senare kan återupptas. Om du använderOFFSET LIMIT
finns det inget "bokmärke". Om du vill returnera frågans nästa sida måste du börja från början. - Du bör använda
OFFSET LIMIT
för fall där du vill hoppa över objekt helt och spara klientresurser. Du bör till exempel användaOFFSET LIMIT
om du vill hoppa till det 1000:e frågeresultatet och inte behöver visa resultat 1 till och med 999. På serverdelenOFFSET LIMIT
läser fortfarande in varje objekt, inklusive de objekt som hoppas över. Prestandafördelen mäts för att minska klientresurserna genom att undvika bearbetning av objekt som inte behövs.