查询语句效率
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
请大家指点一下如何优化.
------解决方案--------------------
你这个写法没办法用上stopkey,
这样写:
select * from (select rownum r_n,temptable.* from
(select * from 表名 where 1=1 order by 编号) temptable where rownum <=60) where r_n >= 41
在翻前面的页时就会很快
------解决方案--------------------
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