日期:2014-05-17  浏览次数:20967 次

oracle数据分页查询优化
分页查询语句  
SELECT  LOGID,NO,FROM T_TAB_LOG U right join  (SELECT RID
            FROM (SELECT ROWID  RID,
                         ROWNUM num
                    FROM (SELECT ROWID rid
                            FROM T_TAB_LOG t
                           WHERE part_date=... ) t
                   WHERE ROWNUM <= NVL(10, 15)) Y
           WHERE Y.num >= NVL(1, 0)) t
   on U.ROWID = RID
   ORDER BY OPTTIME DESC;
还有优化的地方么?在表中,logI是主键,在part_date上建立分区表。NO号为1的数据有1.7亿条,NO号为2的数据有1700条,为什么查询NO=1的速度要比NO=2的速度快?求指教
Oracle 分页 性能优化

------解决方案--------------------
两层子查询...
打个执行计划,看cost