OFFSET LIMIT (NoSQL-Abfrage)

GILT FÜR: NoSQL

Die Klausel OFFSET LIMIT ist eine optionale Klausel zum Überspringen und dann Annehmen einer Anzahl von Werten aus der Abfrage. In der Klausel „OFFSET LIMIT“ muss die Anzahl OFFSET und die Anzahl LIMIT angegeben werden.

Wenn OFFSET LIMIT bei einer ORDER BY-Klausel verwendet wird, wird das Resultset erstellt, indem Werte zuerst übersprungen und dann die sortierten Werte angenommen werden. Wenn keine ORDER BY-Klausel verwendet wird, führt dies zu einer deterministischen Reihenfolge der Werte.

Syntax

OFFSET <offset_amount> LIMIT <limit_amount>

Argumente

BESCHREIBUNG
<offset_amount> Mit diesem Argument wird die ganzzahlige Anzahl von Elementen festgelegt, die die Abfrageergebnisse überspringen sollen.
<limit_amount> Mit diesem Argument wird die ganzzahlige Anzahl von Elementen festgelegt, die die Abfrageergebnisse enthalten sollten.

Beispiele

Für das Beispiel in diesem Abschnitt wird dieser Verweissatz von Elementen verwendet. Jedes Element enthält eine name-Eigenschaft.

[
  {
    "name": "Sawyer Miller",
  },
  {
    "name": "Jennifer Wilkins",
  },
  {
    "name": "Hannah Haynes",
  },
  {
    "name": "Isaac Talbot",
  },
  {
    "name": "Riley Johnson",
  }
]

Dieses Beispiel enthält eine Abfrage, die mithilfe der Klausel OFFSET LIMIT eine Teilmenge der übereinstimmenden Elemente zurückgibt, indem ein Element übersprungen wird und die nächsten drei Elemente verwendet werden.

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"
  }
]

Bemerkungen

  • Die OFFSET-Anzahl und die LIMIT-Anzahl sind in der OFFSET LIMIT-Klausel erforderlich. Wenn eine optionale ORDER BY-Klausel verwendet wird, wird das Resultset durch Überspringen der sortierten Werte erzeugt. Andernfalls gibt die Abfrage eine feste Reihenfolge von Werten zurück.
  • Die RU-Gebühr für eine Abfrage mit OFFSET LIMIT steigt bei zunehmender Anzahl der versetzten Begriffe. Für Abfragen mit mehreren Ergebnisseiten empfiehlt es sich in der Regel, Fortsetzungstoken zu verwenden. Fortsetzungstoken sind „Lesezeichen“ für die Stelle, an der die Abfrage später fortgesetzt werden kann. Wenn Sie OFFSET LIMIT verwenden, gibt es kein „Lesezeichen“. Wenn Sie die nächste Seite der Abfrage zurückgeben möchten, müssen Sie von Anfang an beginnen.
  • Sie sollten OFFSET LIMIT in Fällen verwenden, in denen Sie Elemente vollständig überspringen und Clientressourcen speichern möchten. Sie sollten OFFSET LIMIT z. B. verwenden, wenn Sie alles bis zum 1.000. Ergebnis der Abfrage überspringen und die Ergebnisse 1 bis 999 nicht anzeigen möchten. Auf dem Back-End lädt OFFSET LIMIT weiterhin jedes Element, einschließlich der übersprungenen Elemente. Der Leistungsvorteil wird in der Reduzierung von Clientressourcen gemessen, indem die Verarbeitung von nicht benötigten Elementen vermieden wird.