相关疑难解决方法(0)

快速从sqlserver中选择随机抽样

我有一个超过1000万行的巨大表.我需要从中有效地获取5000的随机抽样.我有一些行为者减少了我想要的总行数,如9毫米.

我尝试使用NEWID()的命令,但该查询将花费太长时间,因为它必须对所有行进行表扫描.

有更快的方法吗?

sql database sql-server random performance

15
推荐指数
4
解决办法
3万
查看次数

从oracle中选择随机样本时两个查询之间的差异

这个问题回答了如何从oracle中选择随机样本的问题,这正是我所需要的.但我不明白该解决方案之间的区别

SELECT  *
FROM    (
        SELECT  *
        FROM    mytable
        ORDER BY
                dbms_random.value
        )
WHERE rownum <= 1000
Run Code Online (Sandbox Code Playgroud)

和类似的东西

select * from mytable where rownum<=1000 order by dbms_random.value
Run Code Online (Sandbox Code Playgroud)

当我使用第一种方法查询时,它需要很长时间(仍然没有完成)但是当我使用第二种方法查询时,它非常快,但结果似乎不是随机的.

感谢和建议/方向,你们都可以提供.

谢谢!

JC

sql oracle random

2
推荐指数
1
解决办法
1892
查看次数

如何在oracle SQL中从给定表创建随机25%的样本?

我给出了查询:

select dbms_random.value 
  from table;
Run Code Online (Sandbox Code Playgroud)

我如何获得25%的样本?

sql oracle plsql

1
推荐指数
1
解决办法
449
查看次数

标签 统计

sql ×3

oracle ×2

random ×2

database ×1

performance ×1

plsql ×1

sql-server ×1