Oracle的分頁(yè)機(jī)制主要不外乎兩種方法,
1. 使用rownum序列, 這種方法的好處是, 在查找前幾頁(yè)時(shí)速度比較快, 缺點(diǎn)時(shí), 查詢出來(lái)的數(shù)據(jù)不是完全準(zhǔn)確的, 在查詢的數(shù)據(jù)量很大時(shí), 特別是查詢最后幾頁(yè)時(shí)速度非常慢. select col1,col2,..,coln from ( select rownum rn,col1,col2,....,coln from table_name where ... and rownum <= n ) where rn >= m; 2. 使用Oracle8i開始支持的分析函數(shù) 這種方法取出來(lái)的數(shù)據(jù)準(zhǔn)確性相當(dāng)高, 查詢效率比較穩(wěn)定. 建議使用這種方法. select col1,col2,..,coln from ( select row_number() over(order by colx desc /asc ) rn, col1,col2,....,coln from table_name where ... ) where rn between m and n ; |
|
來(lái)自: 168一路發(fā) > 《優(yōu)化》