Je veux obtenir des enregistrements aléatoires de DB. Il y a deux solutions pour cela:Quelle est la meilleure solution pour obtenir un ensemble d'enregistrements aléatoires de db?
1- En utilisant TABLESAMPLE
pour obtenir des données de db directement.
2- Écrivez une méthode Dans mon application pour cela. Dans cette méthode, nous générons plusieurs nombres aléatoires et obtenons des données comme ceci:
select * from db where ID = @RandomNumber
Si cet ID n'existe pas, je passe un nouveau nombre.
Maintenant, lequel a une meilleure performance?
La question était "quelle méthode donne une meilleure performance", donc je ne recommanderais pas ORDER BY NEWID(). Il faut assigner NEWID() à toutes les lignes, puis les trier toutes. C'est cher pour les grands recordsets! – filiprem