工作中难免会遇到需要随机的情况,实现方式主要有两种
- 通过硬编码的方式实现
- 通过数据库提供的随机函数实现
这次主要讲解通过oracle 数据库内置的随机函数实现
- 使用 order by dbms_random.vlaue,如
但这种方法效率低,特别是数据量大的情况下,需要排序。
- 使用sample函数,如
但是sample不允许多表连接查询后的sample使用,如下用这个就不行
而且smpale(50)返回的纪录数不一定为50%
- 使用sample block(50),是按分区来随机,返回的纪录数就更不一定了