最高效的oracle分頁語句,你會了嗎?

2021-07-27 23:31:12 字數 1066 閱讀 4462

--1:無order by排序的寫法。(效率最高)

--(經過測試,此方法成本最低,只巢狀一層,速度最快!即使查詢的資料量再大,也幾乎不受影響,速度依然!)

select

* from

(select

rownum

as rowno, t

.* from

emp t

where

hire_date

between

to_date

('20060501'

, 'yyyymmdd'

) and

to_date

('20060731'

, 'yyyymmdd'

) and

rownum

<=

20)table_alias

where

table_alias

.rowno

>=

10;--2:有order by排序的寫法。(效率最高)

--(經過測試,此方法隨著查詢範圍的擴大,速度也會越來越慢哦!)

select

* from

(select

tt.*,

rownum

as rowno

from

(  select t

.* from

emp t

where

hire_date

between

to_date

('20060501'

, 'yyyymmdd'

) and

to_date

('20060731'

, 'yyyymmdd'

) order

by create_time

desc,

emp_no

) tt

where

rownum

<=

20)table_alias

where

table_alias

.rowno

>=

10;

oracle 排序分頁 高效sql語句

最好還是利用分析函式row number over partition by col1 order by col2 比如想取出100 150條記錄,按照tname排序 select tname,tabtype from select tname,tabtype,row number over ord...

Oracle 高效分頁

分頁 select from t user5 select count 1 from t user5 10,485,760 rownum是乙個查詢後的結果,查詢之前是不存在的 select rownum,rowid,tt.from t user5 tt where rownum 3 and 1 an...

oracle 分頁語句

1.根據rowid來分 select from t xiaoxi where rowid in select rid from select rownum rn,rid from select rowid rid,cid from t xiaoxi order by cid desc where r...