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()
我有点受计算限制,因为我不想在拉动数小时时杀死数据库或带宽。
我当前的查询是这样的:
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()