Oracle 分頁函式總結

2021-06-04 06:36:26 字數 778 閱讀 8529

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 rownum < 10000)

where rn > 9980)

order by cid desc;  

執行時間0.03秒

2.按分析函式來分

select *

from (select t.*, row_number() over(order by cid desc) rk from t_xiaoxi t)

where rk < 10000

and rk > 9980;

執行時間1.01秒

3.按rownum來分

select *

from (select t.*, rownum rn

from (select * from t_xiaoxi order by cid desc) t

where rownum < 10000)

where rn > 9980; 

執行時間0.1秒

其中t_xiaoxi為表名稱,cid為表的關鍵字段,取按cid降序排序後的第9981-9999條記錄,t_xiaoxi表有70000多條記錄

個人感覺1的效率最好,3次之,2最差  

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...

oracle的分頁函式rownum

rownum屬於oracle中的偽列 pseudocolumns 用法有些細節,所以單獨拉出來說明。主內容其他 語句為 select from t user where rownum 10 題目1答案 select from t user where rownum 5 該語句不返回任何結果。為什麼呢...

Oracle函式總結

instr 源字串,目標字串,起始位置,匹配序號 在oracle plsql中,instr函式返回要擷取的字串在源字串中的位置。只檢索一次,就是說從字元的開始 到字元的結尾就結束。語法如下 引數分析 string1 源字串,要在此字串中查詢。string2 要在string1中查詢的字串.start...