如下sql语句select rownum nw, a.oper_id,a.domain_id from test1 a where rownum < &记录数 order by nw asc;
这个句SQL的执行时间收到“&记录数”的影响。但是,如果“&记录数”等于表记录数+2的时候会有很长!
我的数据库Oracle是10G的表中记录数为:197604条。 

解决方案 »

  1.   

    先排序,再用rownum,否则就是默认排序
    select * from 
    (
    select rownum nw, a.oper_id,a.domain_id from test1 a  order by nw asc
    ) a 
    where rownum < &记录数
      

  2.   

    如果“&记录数”等于表记录数+2的时候会有很长! 
    这个不是很理解,&记录数的大小应该没有关系吧,例如:
    select * from 
    (
    select rownum from dual
    connect by rownum<=10
    )
    where rownum<=12
      

  3.   

    我就是问这个啊·为什么在查询的的rownum小于表的count+2时,时间是突然上去·