一剑按、 ROWNUM
一般情況下使用這種查詢枣耀,
但是數(shù)據(jù)量增大以后障涯,比如共10000頁(yè) 想看第9999頁(yè) 這種情況 內(nèi)層查詢數(shù)據(jù)量十分大 查詢十分緩慢纵朋,這種時(shí)候推薦使用第二種分頁(yè)方式
SELECT *
? FROM (SELECT ROW_.*, ROWNUM ROWNUM_
? ? ? ? ? FROM (SELECT *
? ? ? ? ? ? ? ? ? FROM TABLE1
? ? ? ? ? ? ? ? WHERE TABLE1_ID = XX
? ? ? ? ? ? ? ? ORDER BY GMT_CREATE DESC) ROW_
? ? ? ? WHERE ROWNUM <= 20)
WHERE ROWNUM_ >= 10;
二 厨内、ROWID
這種情況只適合
比如10000條記錄中我們經(jīng)常需要查9000-9100及其以后的數(shù)據(jù)
SELECT *
? FROM (SELECT RID
? ? ? ? ? FROM (SELECT R.RID, ROWNUM LINENUM
? ? ? ? ? ? ? ? ? FROM (SELECT ROWID RID
? ? ? ? ? ? ? ? ? ? ? ? ? FROM TABLE1
? ? ? ? ? ? ? ? ? ? ? ? WHERE TABLE1_ID = XX
? ? ? ? ? ? ? ? ? ? ? ? ORDER BY order_date DESC) R
? ? ? ? ? ? ? ? WHERE ROWNUM <= 20)
? ? ? ? WHERE LINENUM >= 10) T1,
? ? ? TABLE1 T2
WHERE T1.RID = T2.ROWID;
其中內(nèi)層查詢T1只查詢ROWID,其余外層查詢T2查詢具體的業(yè)務(wù)信息