Bosh sahifa Wiki Limit

Limit

Limit — so‘rov yoki operatsiya qaytarishi, qayta ishlashi yoxud qabul qilishi mumkin bo‘lgan birliklarning yuqori chegarasi. Ma’lumotlar bazasi va API kontekstida u ko‘pincha natijadagi qatorlar sonini belgilaydi. SQL dagi LIMIT 25 saralash va filtrlashdan keyingi dastlabki 25 qatorni qaytaradi; API dagi limit=25 ham shunga yaqin semantikaga ega bo‘lishi mumkin.

SQL so‘rovidagi o‘rni

Quyidagi so‘rov eng yangi 25 yozuvni oladi:

SELECT id, title, created_at
FROM articles
WHERE is_active = true
ORDER BY created_at DESC, id DESC
LIMIT 25;

ORDER BY bo‘lmasa, “dastlabki” qatorlarning barqaror ma’nosi yo‘q. Query planner jismoniy saqlash, indeks yoki parallel reja bo‘yicha turli tartib qaytarishi mumkin. Noyob tie-breaker qo‘shilishi teng created_at qiymatlarida ham deterministik natija beradi.

Limit ishlov beriladigan barcha qatorni har doim kamaytirmaydi. Aggregation, DISTINCT yoki murakkab sort avval katta oraliq natija yaratib, limitni keyin qo‘llashi mumkin. Mos indeks top-N so‘rovni tezlashtirib, kerakli qatorlar topilgach skanni to‘xtatishga imkon beradi. Execution plan limit qayerda ishlayotganini ko‘rsatadi.

API chegarasi

API mijozga limit tanlash imkonini berganda standart va maksimal qiymat belgilaydi. Parametr berilmasa standart qo‘llanadi; maksimaldan katta qiymat xato bilan rad etilishi yoki maksimalgacha qisqartirilishi mumkin. Qaysi xatti-harakat ishlatilishi hujjatda aniq bo‘ladi.

Limit faqat himoya emas, shartnomaning bir qismidir. Server ichki sabab bilan so‘ralgandan kam element qaytarishi mumkin: natija tugagan, ruxsat filtri qatorlarni olib tashlagan yoki bayt hajmi bo‘yicha qo‘shimcha chegara ishlagan bo‘lishi mumkin. Mijoz faqat elementlar soni limitga teng emasligidan keyingi sahifa yo‘q deb xulosa qilmasdan, next yoki cursor belgisini tekshiradi.

Offset va cursor bilan ishlashi

Offset bilan limit birgalikda ma’lum oynani tanlaydi. LIMIT 20 OFFSET 40 qirq qatorni tashlab, yigirma qator oladi. Katta offsetda avvalgi qatorlarni bosib o‘tish qimmat bo‘lishi mumkin. Keyset paginationda esa WHERE oxirgi kalitdan keyingi qatorlarni tanlaydi va limit shu natijani kesadi.

Limitni o‘zgartirish offsetga asoslangan page raqamlarini siljitadi. Cursor tokeni so‘rov shartlarini o‘z ichiga olsa, uning bilan boshqa limit ishlatish ruxsat etilmasligi mumkin. Server yaratgan next URL parametrlarni to‘g‘ri saqlaydi.

Boshqa ma’nolari

Tizimlarda limit so‘zi rate limit, xotira limiti, fayl hajmi, ulanishlar soni yoki bajarilish vaqti uchun ham ishlatiladi. Rate limit vaqt oralig‘idagi amallar sonini, pagination limiti esa bitta javobdagi elementlarni cheklaydi. Ularni bir xil parametr deb talqin qilish noto‘g‘ri.

Chegara resurs sarfini boshqaradi, ammo haddan tashqari kichik limit ko‘p so‘rov va round-trip hosil qiladi. Qiymat real workload bo‘yicha tanlanadi, monitoringda javob hajmi, latency, baza va mijoz xotirasi birgalikda ko‘riladi.

Limit va ruxsat filtri

Filtrlash qaysi bosqichda bajarilishi natijaga ta’sir qiladi. Avval 20 qator olinib, keyin ilova ruxsatsizlarini olib tashlasa, mijoz kam natija oladi va keyingi sahifada qatorlar yo‘qolishi mumkin. Ruxsat sharti imkon qadar database so‘roviga qo‘shilib, limit undan keyin tatbiq etiladi. Murakkab post-filter zarur bo‘lsa, server ko‘proq kandidat o‘qib, next cursorni iste’mol qilingan oxirgi kandidat bo‘yicha hisoblaydi. Shunda pagination chegarasi ruxsat nazoratidan keyingi ko‘rinadigan natijani buzmaydi.

Bog‘liq tushunchalar

Offset, Page size, SQL, Pagination, ORDER BY, Rate limit