|
原創(chuàng) 波波說運維 2019-12-21 00:01:00 概述很多朋友都不太理解為什么要去分頁查詢,今天主要用一個簡單實例來解釋下Oracle數(shù)據(jù)庫的分頁查詢。。。 分頁查詢概念分頁查詢就是把query到的結(jié)果集按頁顯示。比如一個結(jié)果集有1W行,每頁按100條數(shù)據(jù),而你獲取了第2頁的結(jié)果集。 為什么要分頁查詢如果一個結(jié)果集有幾十W行,那么在一個頁面上顯示肯定顯示不完。同時,顯示數(shù)據(jù)庫記錄是需要加載到內(nèi)存的,而顯示大量數(shù)據(jù)是消耗內(nèi)存更多。 總之,我們是為了以下目的使用分頁查詢:
分頁查詢實現(xiàn)使用Oracle的EMP表,原始sql如下: select * from ( select rownum rn, e.* from ( select * from EMP) e); 結(jié)果如下: 分頁查詢sql如下: select * from 說明: 假設(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 結(jié)果如下: 分頁查詢也可以使用betwenn ... and ... where rn = between (pageSize * (page - 1) + 1) and pageSize * page 可見分頁查詢是取某一范圍的結(jié)果集。 |
|
|