पाठ 10 / 24
पेजिनेशन रणनीतियाँ
बड़े कलेक्शन में ऑफ़सेट-आधारित बनाम कर्सर-आधारित पेजिंग।
ऑफ़सेट पेजिनेशन
?page=3&limit=20 (या ?offset=40&limit=20) सरल है और आपको किसी भी पेज पर सीधे जाने देता है। इसकी कीमत: बड़े, बदलते डेटासेट में गहराई के साथ अंतर्निहित OFFSET धीमा होता जाता है, और बीच में पंक्तियाँ जुड़ने पर आइटम पेजों के बीच खिसक सकते हैं।
कर्सर पेजिनेशन
?after=eyJpZCI6NDgyfQ&limit=20 आखिरी देखी गई आइटम की ओर इशारा करने वाला एक अपारदर्शी कर्सर लौटाता है। यह किसी भी गहराई पर तेज़ रहता है और इंसर्ट के बीच स्थिर रहता है — ट्रेड-ऑफ यह है कि आप सीधे पेज 10 पर नहीं जा सकते।
पेज नंबर बनाम बुकमार्क
ऑफ़सेट पेजिनेशन किताब में एक पेज नंबर पर कूदने जैसा है — आसान, पर अगर उससे पहले पेज जुड़ जाएँ, तो आप कहीं और पहुँच जाते हैं। कर्सर एक ख़ास वाक्य पर लगा बुकमार्क है — आप हमेशा वहीं से शुरू करते हैं जहाँ छोड़ा था।
पेज साइज़ की हमेशा सीमा तय करें
क्लाइंट जो भी माँगे, सर्वर-साइड पर अधिकतम limit (जैसे 100) लागू करें — वरना limit=1000000 की एक रिक्वेस्ट आपका डेटाबेस गिरा सकती है।