OFFSET LIMIT (NoSQL クエリ)

適用対象: NoSQL

OFFSET LIMIT 句は、スキップした後、クエリからいくつかの値を取得するオプションの句です。 OFFSET LIMIT 句には、OFFSET の数と LIMIT の数が必要です。

OFFSET LIMITORDER BY 句と一緒に使用した場合、スキップが実行され、順序付けられた値を受け取る結果セットが生成されます。 ORDER BY 句を使用しない場合、決定論的順序の値になります。

構文

OFFSET <offset_amount> LIMIT <limit_amount>

引数

説明
<offset_amount> クエリの結果でスキップする項目の数を整数で指定します。
<limit_amount> クエリ結果に含める項目の数を整数で指定します。

このセクションの例では、この項目の参照セットを使用します。 各項目には name プロパティが含まれます。

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

この例では、OFFSET LIMIT 句を使用するクエリを含めて、1 つの 項目をスキップして次の 3 つを取得することで、一致する項目のサブセットを返します。

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

解説

  • OFFSET LIMIT 句には、OFFSET 数と LIMIT 数の両方が必要です。 省略可能な ORDER BY 句を使用すると、順序付けられた値に対してスキップを実行することで結果セットが生成されます。 そうでない場合、クエリでは、決められた順序の値が返されます。
  • OFFSET LIMIT を使用するクエリの RU 料金は、オフセットされる用語の数が増えるにつれて増加します。 複数の結果ページがあるクエリの場合は、通常、継続トークンを使用することをお勧めします。 継続トークンとは、後でクエリを再開できる場所の "ブックマーク" です。 OFFSET LIMIT を使用する場合、"ブックマーク" はありません。 クエリの次のページを返す場合は、最初から開始する必要があります。
  • 項目を完全にスキップしてクライアント リソースを節約したい場合は、OFFSET LIMIT を使用してください。 たとえば、1000 番目のクエリ結果にスキップし、1 から 999 の結果は表示する必要がない場合は、OFFSET LIMIT を使用します。 バックエンドでは、OFFSET LIMIT は引き続き、スキップされた項目を含めて各項目を読み込みます。 パフォーマンス上の利点は、不要な項目の処理を回避することによる、クライアント リソースの削減で測定されます。