筆者在工作中有一上百萬條記錄的表,在jsp頁面中需對(duì)該表進(jìn)行分頁顯示, 便考慮用rownum來作,下面是具體方法(每頁 顯示20條):   “select * from tabname where rownum<20 order by name" 但卻發(fā)現(xiàn)Oracle卻不能按自己的意愿來執(zhí)行,而是先隨便 取20條記錄,然后再 order by,后經(jīng)咨詢oracle,說rownum確實(shí)就這樣,想用的話,只能用子查詢 來實(shí)現(xiàn)先排序,后 rownum,方法如下:   "select * from (select * from tabname order by name) where  rownum<20",但這樣一來,效率會(huì)較低很多。   后經(jīng)筆者試驗(yàn),只需在order by 的字段上加主鍵或索引即可讓oracle先按 該字段排序,然后再rownum;方法不變:    “select * from tabname where rownum<20 order by name" 經(jīng)筆者反復(fù)驗(yàn)證,都沒有問題。 筆者偶然中發(fā)現(xiàn)這一秘訣,不敢獨(dú)珍,寫出來特與網(wǎng)友分享?。?!如有謬誤之處 , 歡迎 大家批評(píng)指正! 本人系統(tǒng)環(huán)境solaris,oracle815,不知其它版本的Oracle 怎么樣,如有朋友 發(fā)現(xiàn)與我的試驗(yàn)結(jié)果不同, 歡迎與我交流! 本人mail: caohw@legend.com.cn