Eftersom du kan skicka en fröparameter till RAND()
funktion kan du "paginera" de slumpmässiga resultaten genom att generera ett frö före den första sidan.
Exempelkod:För första sidan (varierar beroende på språk):
int seed = Math.abs(new Random().nextInt());
SQL-fråga:
SELECT url FROM masterurls ORDER BY RAND({seed}) LIMIT 200;
Lagra fröet någonstans (för webbaserade applikationer kan du använda en url-parameter eller session). För nästa sidor:
SELECT url FROM masterurls ORDER BY RAND({seed}) LIMIT 200 * {pageNumber}, 200;
Obs:Sortering efter RAND()
är en tung operation kan det vara bättre att lagra en indexerad kolumn med webbadressens hash-kod och sedan använda en modulbaserad eller andra slumpmässiga funktioner.