Karena Anda dapat meneruskan parameter seed ke RAND()
fungsi, Anda dapat "memberi paginasi" hasil acak dengan menghasilkan benih sebelum halaman pertama.
Kode contoh:Untuk halaman pertama (bervariasi menurut bahasa):
int seed = Math.abs(new Random().nextInt());
Kueri SQL:
SELECT url FROM masterurls ORDER BY RAND({seed}) LIMIT 200;
Simpan benih di suatu tempat (untuk aplikasi berbasis web Anda dapat menggunakan parameter atau sesi url). Untuk halaman selanjutnya:
SELECT url FROM masterurls ORDER BY RAND({seed}) LIMIT 200 * {pageNumber}, 200;
Catatan:Mengurutkan berdasarkan RAND()
adalah operasi yang berat, Anda mungkin lebih baik menyimpan kolom yang diindeks dengan Kode Hash dari url, kemudian menggunakan modul berbasis atau fungsi acak lainnya.