读书人

查询语句效率,该如何解决

发布时间: 2012-02-17 17:50:42 作者: rapoo

查询语句效率
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

读书人网 >oracle

热点推荐