Я бы использовал TABLESAMPLE, так как он позволяет очень легко генерировать данные выборки. Я ожидаю, что это будет более эффективно, так как вы вызываете только один кусок SQL.
, например
USE AdventureWorks ;
GO
SELECT FirstName, LastName
FROM Person.Contact
TABLESAMPLE (10 PERCENT)
В другом примере вам придется много раз звонить select * from db where ID = @RandomNumber
.
Если вы после отдельных строк, то я бы использовал другой метод, случайную форму TOP 1 и т. Д.