select 随机 ~1 亿行,数十亿行

select random ~100 million rows of billions

我有点受计算限制,因为我不想在拉动数小时时杀死数据库或带宽。

我当前的查询是这样的:

SELECT TOP (100000000) mycolumns
FROM mydb
WHERE lower_control_limit> value1
    AND upper_control_limit < value2 ;

我没有得到像样的随机样本,但我害怕在返回值之前放置必须遍历数十亿行的命令。我需要域(行)上的统一随机样本。

从数十亿行大小的存储中提取几亿行的"best practice"是多少?

我看到了随机数,但我只是担心查询的大小与有限的计算和带宽资源。

找到这个:Select n random rows from SQL Server table

 SELECT TOP (100000000) mycolumns
 FROM mydb order by newid()