新聞中心
這篇文章給大家分享的是有關Oracle如何實現(xiàn)分頁查詢的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
為成武等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及成武網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都做網(wǎng)站、網(wǎng)站制作、成武網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!什么是分頁查詢
分頁查詢就是把query到的結(jié)果集按頁顯示。比如一個結(jié)果集有1W行,每頁按100條數(shù)據(jù)庫。而你獲取了第2頁的結(jié)果集。
為什么要分頁查詢
如果一個結(jié)果集有幾十W行,那么在一個頁面上顯示肯定顯示不完。同時,顯示數(shù)據(jù)庫記錄是需要加載到內(nèi)存的,而顯示大量數(shù)據(jù)是消耗內(nèi)存更多。
我們可以為了以下目的使用分頁查詢:
為了精確定位結(jié)果集的內(nèi)容
為了節(jié)約內(nèi)存
為了在有限的頁面空間顯示適度的數(shù)據(jù)。
如何實現(xiàn)分頁查詢
使用Oracle的EMP表
select * from ( select rownum rn, e.* from ( select * from EMP) e );
結(jié)果如下:
分頁查詢源碼如下:
select * from ( select rownum rn, e.* from ( select * from EMP) e ) where rn > pageSize * (page - 1) and rn <= pageSize * page
分析源碼:
我們選定每頁(pageSize)為5。那么EMP表目前共有三頁,1~5行為1頁;6~10行為1頁;1~15行為1頁(缺第15行,那么第3頁就顯示4行記錄)
頁面從第1頁開始。
我們要查詢第2頁的記錄,那么page = 2。
where rn > 5 and rn <= 10
那么第2頁是由第6,7,8,9,10行記錄形成的。
select * from ( select rownum rn, e.* from ( select * from EMP) e ) where rn > 5 and rn <= 10
結(jié)果如下:
分頁查詢也可以使用betwenn ... and ...
where rn = between (pageSize * (page - 1) + 1) and pageSize * page
可見分頁查詢是取某一范圍的結(jié)果集。
感謝各位的閱讀!關于“Oracle如何實現(xiàn)分頁查詢”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
分享標題:Oracle如何實現(xiàn)分頁查詢-創(chuàng)新互聯(lián)
URL鏈接:http://fisionsoft.com.cn/article/cojcjo.html