This question回答了如何从oracle中随机选择样本的问题,这正是我所需要的。然而,我不明白这种解决方案之间的区别
SELECT *
FROM (
SELECT *
FROM mytable
ORDER BY
dbms_random.value
)
WHERE rownum <= 1000像这样的东西
select * from mytable where rownum<=1000 order by dbms_random.value当我使用第一种方法查询时,它需要很长时间(仍然没有完成),但当我使用第二种方法查询时,它非常快,但结果似乎不是随机的。
感谢你们能提供的建议和方向。
谢谢!
JC
发布于 2009-07-21 14:55:00
第二个将返回1000条记录,并随机对它们进行排序。在第一个查询中,它花费了更多的时间,因为它对所有记录进行排序,然后提取在前1000个位置随机结束的1000个塔楼。
我担心,不管慢不慢,您都需要像第一个查询这样的东西。
https://stackoverflow.com/questions/1159661
复制相似问题