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 hitunganLIMIT
diperlukan dalam klausulOFFSET LIMIT
. Jika klausulORDER 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 menggunakanOFFSET 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 menggunakanOFFSET 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.