实例讲解如何从结果集中获得随机结果

上一篇 / 下一篇  2008-03-14 14:33:00 / 个人分类:技术摘录

 

方法1:

select * from (select * from fem_parties sample
(Sample_Percent) )where rownum < = n;

方法2:

select * from fem_parties where rownum<= n order by dbms_random.value

order by dbms_random.value的效率低

SAMPLE选项:

当按行采样来执行一个采样表扫描时,Oracle从表中读取特定百分比的记录,并判断是否满足WHERE子句以返回结果。

SAMPLE BLOCK选项:

使用此选项时,Oracle读取特定百分比的BLOCK,考查结果集是否满足WHERE条件以返回满足条件的纪录。

Sample_Percent:

Sample_Percent是一个数字,定义结果集中包含记录占总记录数量的百分比。

Sample值应该在[0.000001,99.999999]之间。

需要注意的几点:

1.sample只对单表生效,不能用于表连接和远程表

2.sample会使SQL自动使用CBO


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-07-04  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 6972
  • 日志数: 200
  • 建立时间: 2007-01-03
  • 更新时间: 2008-04-07

RSS订阅

Open Toolbar