欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle實現(xiàn)某表隨機抽取數(shù)據(jù)(隨機性抽取)

 更新時間:2024年08月12日 14:59:11   作者:蝸牛_小吳  
這篇文章主要介紹了Oracle實現(xiàn)某表隨機抽取數(shù)據(jù)(隨機性抽取),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Oracle實現(xiàn)某表隨機抽取數(shù)據(jù)

目前我知道的三種方式:

1. 使用隨機數(shù)

select * from (
      select * from  t_table order by dbms_random.value
) where rownum <= 1000
 
  • 概述 : 這種方式相對比較原始 , 就是 更具隨機的值進行 排序 , 然后 再進行 獲取 前 1000 行數(shù)據(jù) .
  • 優(yōu)點 : 隨機性 好
  • 缺點 : 性能差 (當進行獲取的數(shù)據(jù)量 越大 , 執(zhí)行的時間就越長 )

2. 使用sample函數(shù)

select * from  t_table sample(10) where rownum <=1000
  • 概述 : sample函數(shù) 旨在 隨機樣本抽取 , 但是涵蓋的數(shù)據(jù) 分布 非常不均勻 .
  • 優(yōu)點 : 性能好 (執(zhí)行的時間相對比較短)
  • 缺點 : 隨機性差(因為涵蓋的數(shù)據(jù)分布非常不均勻)

3. 結合上述兩種方式(隨機數(shù)+sample函數(shù))

select * from (
    select * from t_table sample(10) order by dbms_random.value
) where rownum <= 1000 
  • 概述 : 這種是先使用sample函數(shù) 抽取部分數(shù)據(jù), 再使用隨機數(shù)進行排序 .
  • 優(yōu)點 : 性能相對較好 (比方式一 性能好 , 比方式二 隨機性好)
  • 缺點 : 數(shù)據(jù)命中率不能達到 百分百 (因為使用了 sample函數(shù) , 當數(shù)據(jù)量比較少時 , 不能保證每次都能返回 獲取的樣本數(shù)據(jù) , 抽樣的表不能用 dblink[數(shù)據(jù)庫連接])

Oracle數(shù)據(jù)庫:隨機查詢100條數(shù)據(jù)

方法一

SELECT m.*
  FROM (SELECT u.* FROM USER_INFO u order by dbms_random.value()) m
 where rownum < 100;

注:USER_INFO約40w條數(shù)據(jù).

方法二

SELECT * FROM USER_INFO SAMPLE(50) WHERE ROWNUM < 101;

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論