BATAS OFFSET (kueri NoSQL)

BERLAKU UNTUK: NoSQL

Klausa OFFSET LIMIT adalah klausa opsional untuk dilewati lalu mengambil sejumlah nilai dari kueri. Hitungan OFFSET dan LIMIT hitungan diperlukan dalam klausul OFFSET LIMIT.

Ketika OFFSET LIMIT digunakan dengan klausul ORDER BY , tataan hasil dihasilkan dengan melakukan lewati dan mengambil nilai yang diurutkan. Jika tidak ada ORDER BY klausa yang digunakan, klausul tersebut menghasilkan urutan nilai deterministik.

Sintaks

OFFSET <offset_amount> LIMIT <limit_amount>

Argumen

Deskripsi
<offset_amount> Menentukan jumlah bilangan bulat item yang harus dilewati hasil kueri.
<limit_amount> Menentukan jumlah bilangan bulat item yang harus disertakan oleh hasil kueri.

Contoh

Untuk contoh di bagian ini, kumpulan referensi item ini digunakan. Setiap item menyertakan name properti .

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

Contoh ini menyertakan kueri menggunakan OFFSET LIMIT klausul untuk mengembalikan subset item yang cocok dengan melompati satu item dan mengambil tiga item berikutnya.

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

Keterangan

  • Baik hitungan OFFSET maupun hitungan LIMIT diperlukan dalam klausul OFFSET LIMIT. Jika klausul ORDER BY opsional digunakan, kumpulan hasil dihasilkan dengan melakukan melewati nilai yang diurutkan. Jika tidak, kueri mengembalikan urutan nilai tetap.
  • Biaya RU kueri dengan OFFSET LIMIT peningkatan saat jumlah istilah yang diimbangi meningkat. Untuk kueri yang memiliki beberapa halaman hasil, kami biasanya merekomendasikan menggunakan token berkelanjutan. Token berkelanjutan adalah "marka buku" untuk tempat kueri nantinya dapat dilanjutkan. Jika Anda menggunakan OFFSET LIMIT, tidak ada "bookmark." Jika Anda ingin mengembalikan halaman kueri berikutnya, Anda harus memulai dari awal.
  • Anda harus menggunakan OFFSET LIMIT saat Anda ingin melewatkan item sepenuhnya dan menyimpan sumber daya klien. Misalnya, Anda harus menggunakan OFFSET LIMIT jika ingin melompat ke hasil kueri ke-1000 dan tidak perlu menampilkan hasil 1 hingga 999. Pada backend, OFFSET LIMIT masih memuat setiap item, termasuk item yang dilewati. Keuntungan performa diukur dalam mengurangi sumber daya klien dengan menghindari pemrosesan item yang tidak diperlukan.