KAYDIRMA SINIRI (NoSQL sorgusu)
UYGULANANLAR: NoSQL
OFFSET LIMIT
yan tümcesi, atlayıp sorgudan birkaç değer almak için isteğe bağlı bir yan tümcedir. OFFSET
OFSET LIMIT yan tümcesinde sayı ve LIMIT
sayı gereklidir.
Yan OFFSET LIMIT
ORDER BY
tümcesi ile kullanıldığında, sonuç kümesi atlayıp sıralı değerleri alarak oluşturulur. Yan ORDER BY
tümcesi kullanılmazsa, değerlerin belirleyici sırasına neden olur.
Söz dizimi
OFFSET <offset_amount> LIMIT <limit_amount>
Bağımsız değişkenler
Açıklama | |
---|---|
<offset_amount> |
Sorgu sonuçlarının atması gereken öğelerin tamsayı sayısını belirtir. |
<limit_amount> |
Sorgu sonuçlarının içermesi gereken öğelerin tamsayı sayısını belirtir. |
Örnekler
Bu bölümdeki örnekte, bu öğe başvuru kümesi kullanılmıştır. Her öğe bir name
özellik içerir.
[
{
"name": "Sawyer Miller",
"team": "Leadership team"
},
{
"name": "Jennifer Wilkins",
"team": "Leadership team"
},
{
"name": "Hannah Haynes",
"team": "Leadership team"
},
{
"name": "Isaac Talbot",
"team": "Leadership team"
},
{
"name": "Riley Johnson",
"team": "Leadership team"
}
]
Not
Özgün JSON verilerinde öğeler sıralanmaz.
İlk örnek, yalnızca name
alfabetik düzende sıralanmış tüm öğelerden özelliği döndüren bir sorgu içerir.
SELECT VALUE {
name: e.name
}
FROM
employees e
WHERE
e.team = "Leadership team"
ORDER BY
e.name
[
{
"name": "Hannah Haynes"
},
{
"name": "Isaac Talbot"
},
{
"name": "Jennifer Wilkins"
},
{
"name": "Riley Johnson"
},
{
"name": "Sawyer Miller"
}
]
Bu sonraki örnek, ilk öğeyi atlamak için yan tümcesini OFFSET LIMIT
kullanan bir sorgu içerir. Sınır, tüm olası kalan değerleri döndürmek için kapsayıcıdaki öğe sayısına ayarlanır. Bu örnekte sorgu bir öğeyi atlar ve kalan dört öğeyi döndürür (beş sınırın dışında).
SELECT VALUE {
name: e.name
}
FROM
employees e
WHERE
e.team = "Leadership team"
ORDER BY
e.name
OFFSET 1 LIMIT 5
[
{
"name": "Isaac Talbot"
},
{
"name": "Jennifer Wilkins"
},
{
"name": "Riley Johnson"
},
{
"name": "Sawyer Miller"
}
]
Bu son örnek, bir öğeyi atlayıp sonraki üç öğeyi OFFSET LIMIT
alarak eşleşen öğelerin bir alt kümesini döndürmek için yan tümcesini kullanan bir sorgu içerir.
SELECT VALUE {
name: e.name
}
FROM
employees e
WHERE
e.team = "Leadership team"
ORDER BY
e.name
OFFSET 1 LIMIT 3
[
{
"name": "Isaac Talbot"
},
{
"name": "Jennifer Wilkins"
},
{
"name": "Riley Johnson"
}
]
Açıklamalar
- Yan tümcesinde
OFFSET
LIMIT
hem sayı hem deOFFSET LIMIT
sayı gereklidir. İsteğe bağlıORDER BY
bir yan tümce kullanılırsa, sıralı değerler üzerinden atlayarak sonuç kümesi oluşturulur. Aksi takdirde, sorgu sabit bir değer sırası döndürür. - Uzaklık olan terimlerin sayısı arttıkça sorgunun
OFFSET LIMIT
RU ücreti artar. Birden çok sonuç sayfası olan sorgular için genellikle devamlılık belirteçleri kullanmanızı öneririz. Devamlılık belirteçleri, sorgunun daha sonra devam ettirebileceği yer için bir "yer işaretidir". kullanıyorsanızOFFSET LIMIT
"yer işareti" yoktur. Sorgunun sonraki sayfasını döndürmek istiyorsanız, en baştan başlamanız gerekir. - Öğeleri tamamen atlamak ve istemci kaynaklarını kaydetmek istediğiniz durumlar için kullanmalısınız
OFFSET LIMIT
. Örneğin, 1000. sorgu sonucuna atlamak istiyorsanız ve 1 ile 999 arasında sonuçları görüntülemeniz gerekmiyorsa kullanmalısınızOFFSET LIMIT
. Yine de atlanan öğeler dahil olmak üzere her öğeyi arka uçtaOFFSET LIMIT
yükler. Performans avantajı, gerekli olmayan öğelerin işlenmesinden kaçınılarak istemci kaynaklarının azaltılmasında ölçülür.