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 de OFFSET 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ız OFFSET 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ız OFFSET LIMIT . Yine de atlanan öğeler dahil olmak üzere her öğeyi arka uçta OFFSET LIMIT yükler. Performans avantajı, gerekli olmayan öğelerin işlenmesinden kaçınılarak istemci kaynaklarının azaltılmasında ölçülür.