比如
select a.*
from (select rownum r,
*
from test
where 1 = 1
order by username desc) a
where a.r between 0 and 10 这样执行起来就要1分钟左右 实际上的数据大约1000多条 username是主键
select rownum r,
*
from test
where 1 = 1
order by username desc 这样一下子就执行完毕
select a.*
from (select rownum r,
*
from test
where 1 = 1
order by username desc) a
where a.r between 0 and 10 这样执行起来就要1分钟左右 实际上的数据大约1000多条 username是主键
select rownum r,
*
from test
where 1 = 1
order by username desc 这样一下子就执行完毕
select a.*
from (select rownum r,
t.*
from test t
where 1 = 1
order by username desc) a
where a.r <11
select rownum r,
t.*
from test t
where 1 = 1
order by username desc ;
我测试了一下,就像你说的1000多条数据,速度也是很快的噢;
select a.*
from (select rownum r,
t.*
from test t
where 1 = 1
order by username desc) a
where a.r <11
速度可以。但 select a.*
from (select rownum r,
t.*
from test t
where 1 = 1
order by username desc) a
where rownum < 11
就很慢了。而且
select rownum r,
t.*
from test t
where 1 = 1
order by username desc
是很快的。由于我们使用了公司的框架,只需要提供 select rownum r,
t.*
from test t
where 1 = 1
order by username desc
语句,分页是框架实现,所以没法改。但分页语句从执行计划来看都很好。,该分页语句切换另一个数据库环境就OK ,这个是否同数据库设置有关。