Als u het niet erg vindt om complexiteit op te offeren bij het invoegen/bijwerken/verwijderen voor snelheid bij het selecteren, kunt u altijd een volgnummer toevoegen en ervoor zorgen dat het behouden blijft bij het invoegen/bijwerken/verwijderen, en wanneer u een selectie uitvoert, selecteert u gewoon op een of meer willekeurige getallen binnen dit bereik. Als de kolom 'volgorde' is geïndexeerd, denk ik dat dat ongeveer net zo snel gaat als je kunt krijgen.
Een alternatief is "shuffelen". Voeg een reekskolom toe, voeg willekeurige waarden in deze kolom in, en wanneer u records selecteert, sorteert u op de reekskolom en werkt u de geselecteerde recordreeksen bij naar nieuwe willekeurige waarden. De update zou alleen van invloed moeten zijn op de records die u hebt opgehaald, dus zou niet te duur moeten zijn ... maar het kan de moeite waard zijn om wat tests uit te voeren op uw dataset.
Dit is misschien een nogal kwalijke zaak om te zeggen, maar ik zeg het toch ... is het ooit nodig om 'willekeurige' gegevens weer te geven? als je willekeurige records probeert weer te geven, doe je misschien iets verkeerd.
Denk aan Amazon ... tonen ze willekeurige producten, of tonen ze populaire, en 'dingen die andere mensen kochten toen ze ernaar keken'. Geeft SO je een lijst met willekeurige vragen rechts van hier, of een lijst met gerelateerde vragen? Gewoon wat stof tot nadenken.