oracle中数据的分页显示及优化

时间:2021-11-08 16:47:37

在一个页面中经常会出现分页的现象,那么后台数据库又应该如何分页显示呢?

分页可以使用oracle中的rownum函数。

一个页面中从第几行到第几行数据的显示。

下面以scott用户下的emp表说明:

语句一:

select b.*
from(
select a.* ,rownum row_num
from (select * from emp ) a) b
where row_num between 3 and 5;

语句二:

select b.*
from(
select a.* ,rownum row_num
from (select * from emp ) a
where rownum<6) b
where row_num>2;

语句一和语句二有相同的功能,都可以将emp表中的第三行到第五行的数据显示出来,但是当数据库中的数据量很大时,语句二明显比语句一更优化。

在oracle中sql语句的执行是从内到外执行的,语句二中先将rownum<6的数据放入到b表中,再从b表中查询出rownum>2的数据,效率更高于语句一。