pengpenglin
人,必須選擇一種生活方式并有勇氣堅持下去
BlogJava
首頁
新隨筆
新文章
聯(lián)系
聚合
管理
posts - 262, comments - 221, trackbacks - 0
【原】Oracle開發(fā)專題之:隨機查詢
【1】方法一:通過dbms_random.random
select
*
from
(
select
*
from
largetable
order
by
dbms_random.random)
where
rownum
<=
20000
;
【2】方法二:通過dbms_random.value
select
*
from
(
select
*
from
largetable
order
by
dbms_random.value)
where
rownum
<=
20000
;
【3】方法三:通過采樣表掃描
select
*
from
(
select
*
from
largetable sample(
10
))
where
rownum
<=
20000
;
下面我們通過實踐來比較這3種方法的效率,首先我們創(chuàng)建一個包含有10W條記錄的表用于實驗:
create
table
LARGETABLE
(
ID
NUMBER
not
null
primary
key
,
BIRTHDAY DATE
not
null
)
接下來我們插入10W條數(shù)據(jù)
create
or
replace
procedure
random_insert
as
i
number
;
startDate date :
=
sysdate;
begin
for
i
in
1
..
100000
loop
insert
into
largetable
values
(i, startDate
+
1
);
end
loop
commit
;
end
;
在SQL*PLUS下設(shè)置顯示SQL語句執(zhí)行時間:set timing on,讓后分別運行上述三條語句:
第一個的執(zhí)行時間為 00: 00: 16: 04
第二個的執(zhí)行時間為 00: 00: 54: 04
第三個的執(zhí)行時間為 00: 00: 08: 07
從這里我們可以看出在進行數(shù)據(jù)隨機抽取時,采用sample的方法效率是最高的。為了保證每次隨機查詢的數(shù)據(jù)盡量不重復,我們可以把sample中的百分比提高一些(例如從10%提高到20%)。
關(guān)于Oracle Sample的介紹和用法,請參考eygle他老人家的一篇文章介紹:
如何從結(jié)果集中獲得隨機結(jié)果
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
posted on 2008-06-09 17:41
Paul Lin
閱讀(1983)
評論(3)
編輯
收藏
所屬分類:
Oracle 開發(fā)
FeedBack:
#
re: 【原】Oracle開發(fā)專題之:隨機查詢
2009-02-23 11:36 |
wxf0701@gmail.com
俺的測試結(jié)果跟你的很不一樣哦,你多次運行下看看
回復
更多評論
#
re: 【原】Oracle開發(fā)專題之:隨機查詢[未登錄]
2009-03-19 15:29 |
peter
用sample代表取樣阿,我查詢時如果戴上查詢條件,如果用sample得到的查詢結(jié)果數(shù)量可能不對啊,多次查詢的數(shù)目不同?
回復
更多評論
#
re: 【原】Oracle開發(fā)專題之:隨機查詢
2009-05-17 17:13 |
初學者
看了大俠的oracle的博文,受益頗深。現(xiàn)有一問題想求,望復:
在一個SQL語句中,進行表連接的最合適的表的個數(shù)是多少?例如,在一個sql語句中,涉及到了4張表連接。如果,一個sql語句涉及了10張表進行連接,是不是說明數(shù)據(jù)庫的表的設(shè)計有問題?那,一個什么樣的表連接數(shù)值才是合適的數(shù)據(jù)庫表的設(shè)計呢?
謝謝。
祝順利,健康。
回復
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
【原】Oracle開發(fā)專題之:時間運算2(日期截取及四舍五入)
【原】Oracle開發(fā)專題之:時間運算
【原】Oracle開發(fā)專題之:分析函數(shù)總結(jié)
【原】Oracle開發(fā)專題之:報表函數(shù)
【原】Oracle開發(fā)專題之:窗口函數(shù)
【原】Oracle應(yīng)用專題之:分析函數(shù)3(Top/Bottom N、First/Last、NTile)
【原】Oracle開發(fā)專題之:分析函數(shù)2(Rank, Dense_rank, row_number)
【原】Oracle開發(fā)專題之:分析函數(shù)(OVER)
【原】Oracle開發(fā)專題之:刪除重復記錄
【原】Oracle開發(fā)專題之:行列轉(zhuǎn)換
Copyright ©2025 Paul Lin Powered by:
博客園
模板提供:
滬江博客
<
2008年6月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(21)
給我留言
查看公開留言
查看私人留言
隨筆分類
J2EE 框架(9)
J2EE基礎(chǔ)(4)
J2SE(43)
Java 工具(5)
Oracle Concept(4)
Oracle SQL/PLSQL(9)
Oracle 開發(fā)(13)
Oracle 管理(4)
Oracle 調(diào)優(yōu)
Oracle 錯誤診斷
RoR(19)
UML(3)
Unix / Linux(13)
Web基礎(chǔ)(19)
其它技術(shù)(7)
感悟(3)
雜項(7)
架構(gòu)與性能(8)
模式與重構(gòu)(19)
灌水(8)
電影與音樂(16)
走過的路(1)
軟件過程與軟件方法(3)
陽光戶外(2)
項目管理(36)
隨筆檔案
2012年2月 (3)
2011年11月 (4)
2011年10月 (1)
2011年9月 (2)
2011年8月 (2)
2011年7月 (5)
2011年6月 (3)
2011年5月 (1)
2011年4月 (1)
2011年3月 (3)
2011年1月 (1)
2010年12月 (1)
2010年11月 (5)
2010年10月 (3)
2010年9月 (1)
2010年7月 (1)
2010年6月 (1)
2010年5月 (4)
2010年4月 (9)
2010年3月 (19)
2010年2月 (8)
2010年1月 (3)
2009年12月 (34)
2009年11月 (1)
2009年10月 (2)
2009年7月 (4)
2009年6月 (5)
2009年5月 (3)
2009年4月 (2)
2009年3月 (1)
2009年2月 (5)
2009年1月 (5)
2008年12月 (13)
2008年11月 (4)
2008年10月 (1)
2008年9月 (6)
2008年8月 (5)
2008年7月 (3)
2008年6月 (31)
2008年5月 (10)
2008年4月 (9)
2008年3月 (7)
2008年2月 (4)
2008年1月 (19)
BlogJava熱點博客
BeanSoft
Jack.Wang
如坐春風
詩特林
鄭暉
銀河使者
阿密果
隔葉黃鶯
好友博客
無羽蒼鷹
搜索
最新評論
1.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
666666666666666666666這幾天正在做個類似工程編碼出現(xiàn)錯誤
--李
2.?re: 【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO簡化文件讀寫
不錯
--阿斯蘭
3.?re: 【Java基礎(chǔ)專題】編碼與亂碼(03)----String的toCharArray()方法
多謝分享
--thx
4.?re: 【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換
評論內(nèi)容較長,點擊標題查看
--karl
5.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
謝謝,幫了我大忙!
--小龍
閱讀排行榜
1.?Oracle中如何插入特殊字符:& 和 ' (多種解決方案)(48445)
2.?getOutputStream() has already been called for this response的解決方法(43350)
3.?【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換(37030)
4.?360安全衛(wèi)士誤刪audiosrv.dll文件造成系統(tǒng)無聲的解決方案(21266)
5.?Java中讀取字節(jié)流并按指定編碼轉(zhuǎn)換成字符串的方法(17317)
評論排行榜
1.?360安全衛(wèi)士誤刪audiosrv.dll文件造成系統(tǒng)無聲的解決方案(33)
2.?【原】Oracle開發(fā)專題之:時間運算(11)
3.?【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換(11)
4.?getOutputStream() has already been called for this response的解決方法(10)
5.?【原】Oracle開發(fā)專題之:分析函數(shù)(OVER)(8)
主站蜘蛛池模板:
亚洲一级片在线播放
|
久久精品国产亚洲沈樵
|
77777午夜亚洲
|
最近免费中文字幕mv电影
|
亚洲第一精品福利
|
国产99视频精品免费专区
|
亚洲AV日韩精品久久久久
|
久久免费动漫品精老司机
|
91久久亚洲国产成人精品性色
|
国产亚洲人成网站在线观看
|
人碰人碰人成人免费视频
|
久久精品亚洲乱码伦伦中文
|
精品一区二区三区免费视频
|
久久精品亚洲中文字幕无码网站
|
久久一区二区三区免费播放
|
亚洲女人影院想要爱
|
免费看的黄色大片
|
free哆拍拍免费永久视频
|
国产亚洲一区二区三区在线
|
1000部拍拍拍18勿入免费视频下载
|
永久免费av无码网站大全
|
免费国产草莓视频在线观看黄
|
红杏亚洲影院一区二区三区
|
大地资源免费更新在线播放
|
亚洲国产精华液2020
|
亚洲一区日韩高清中文字幕亚洲
|
青柠影视在线观看免费高清
|
亚洲综合久久久久久中文字幕
|
毛片免费观看网站
|
www在线观看播放免费视频日本
|
久久精品亚洲一区二区
|
成人毛片免费在线观看
|
亚洲精品偷拍视频免费观看
|
91久久亚洲国产成人精品性色
|
全免费a级毛片免费看不卡
|
国产免费一区二区三区免费视频
|
亚洲春黄在线观看
|
gogo全球高清大胆亚洲
|
亚洲网站在线免费观看
|
日韩久久无码免费毛片软件
|
久久精品国产亚洲AV无码娇色
|