17-分页

分页语句:

 select *
  from (select t.*, rownum rn
          from (select * from test where object_id <= 1000) t)
 where rn >= 1
   and rn <= 10;

 

---谓词推不进去,因为有rownum会自动生成一个view

 

           1. 

        select *
  from (select *
          from (select a.*, rownum rn
                  from (select * from test where object_id <= 1000) a)
         where rownum <= 10)
 where rn >= 0;

 

           select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));

 

分页框架

select  * from
(
select * from
(
select  a.*,rownum rn
  from
(
---这里面放 SQL 外面是框架都不用改
) a 
) where rownum<=10
) where rn>=0; 

 

写一个脚本全自动化的抓出错误的分页

  提醒错误的分页语句是不是就只有一个rownum。

select *
  from (select *
          from (select a.*, rownum rn
                  from (select * from test where object_id <= 1000) a)
         where rownum <= 10)
 where rn >= 0;

 

1. 符合sql分页框架

2.分页必须走索引

3.分页语句中只要发现 SORT ORDER BY   百分之80,90是错的,因为rows多了就会排序时间过长。

select *
  from (select *
          from (select a.*, rownum rn
                  from (select /*+ index(test index_obj) */ * from test where object_id <= 100000 order by owner) a)
         where rownum <= 10)
 where rn >= 0;

 

分页语句不能有group by 

select ... from a, (.... group by ...) b

----------------------------------------------------------------------页面展示

 

 

 

 

 

 

 

 

 

 

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fengzhongsanfaxielin/article/details/49912719
个人分类: oracle优化
想对作者说点什么? 我来说一句

17-控件和编程应用

2017年03月23日 31.39MB 下载

17-错误日志

u010653050 u010653050

2013-08-05 17:15:25

阅读数:580

MFC教程lesson 17-进程间通信.rar

2017年02月19日 136.26MB 下载

没有更多推荐了,返回首页

不良信息举报

17-分页

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭