asp.net连接oracle数据库查询数据库,表记录数才十万,但发现查询速度很慢,翻到下一页需要两三秒
语名如下:select * from (select rownum r_n,temptable.* from 
(select * from 表名 where 1=1 order by 编号) temptable ) where r_n between 41 and 60请大家指点一下如何优化.

解决方案 »

  1.   

    你这个写法没办法用上stopkey,这样写:
    select * from (select rownum r_n,temptable.* from 
    (select * from 表名 where 1=1 order by 编号) temptable where rownum <=60) where r_n >= 41在翻前面的页时就会很快
      

  2.   

    1,要保证有“编号”字段上的索引
    2,修改成楼上的查询方式
    select * from (select rownum r_n,temptable.* from 
    (select * from 表名 where 1=1 order by 编号) temptable where rownum <=60) where r_n >= 41