Share via


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 och LIMIT antalet krävs i -OFFSET LIMITsatsen. Om en valfri ORDER 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änder OFFSET LIMITfinns 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ända OFFSET LIMIT om du vill hoppa till det 1000:e frågeresultatet och inte behöver visa resultat 1 till och med 999. På serverdelen OFFSET 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.