免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
從一個(gè)簡單實(shí)驗(yàn)來看Oracle分頁查詢
原創(chuàng) 波波說運(yùn)維 2019-12-21 00:01:00

概述

很多朋友都不太理解為什么要去分頁查詢,今天主要用一個(gè)簡單實(shí)例來解釋下Oracle數(shù)據(jù)庫的分頁查詢。。。


分頁查詢概念

分頁查詢就是把query到的結(jié)果集按頁顯示。比如一個(gè)結(jié)果集有1W行,每頁按100條數(shù)據(jù),而你獲取了第2頁的結(jié)果集。


為什么要分頁查詢

如果一個(gè)結(jié)果集有幾十W行,那么在一個(gè)頁面上顯示肯定顯示不完。同時(shí),顯示數(shù)據(jù)庫記錄是需要加載到內(nèi)存的,而顯示大量數(shù)據(jù)是消耗內(nèi)存更多。

總之,我們是為了以下目的使用分頁查詢:

  • 為了精確定位結(jié)果集的內(nèi)容
  • 為了節(jié)約內(nèi)存
  • 為了在有限的頁面空間顯示適度的數(shù)據(jù)

分頁查詢實(shí)現(xiàn)

使用Oracle的EMP表,原始sql如下:

select * from ( select rownum rn, e.* from ( select * from EMP) e);

結(jié)果如下:

分頁查詢sql如下:

select * from
( select rownum rn, e.* from
( select * from EMP) e
)
where rn > pageSize * (page - 1) and rn <= pageSize * page

說明:

假設(shè)選定每頁(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é)果集。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
分頁查詢
分頁過程
oracle中的rownum、order by與分頁
oracle 按ROWID實(shí)現(xiàn)分頁查詢
Oracle分頁查詢的優(yōu)化方案
三大數(shù)據(jù)庫分頁方法(Oracle/MySQL/SQL)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服