चूंकि आप RAND()
. को एक बीज पैरामीटर पास कर सकते हैं फ़ंक्शन, आप पहले पृष्ठ से पहले एक बीज उत्पन्न करके यादृच्छिक परिणामों को "पृष्ठांकित" कर सकते हैं।
नमूना कोड:पहले पृष्ठ के लिए (भाषा के अनुसार भिन्न होता है):
int seed = Math.abs(new Random().nextInt());
SQL क्वेरी:
SELECT url FROM masterurls ORDER BY RAND({seed}) LIMIT 200;
बीज को कहीं स्टोर करें (वेब-आधारित अनुप्रयोगों के लिए आप यूआरएल पैरामीटर या सत्र का उपयोग कर सकते हैं)। अगले पृष्ठों के लिए:
SELECT url FROM masterurls ORDER BY RAND({seed}) LIMIT 200 * {pageNumber}, 200;
नोट:RAND()
के आधार पर छांटना एक भारी ऑपरेशन है, तो बेहतर होगा कि आप url के हैश कोड के साथ एक अनुक्रमित कॉलम को संग्रहीत करें, फिर मॉड्यूल-आधारित या अन्य यादृच्छिक कार्यों का उपयोग करें।