oracle中数据的分页显示及优化
在一个页面中经常会出现分页的现象,那么后台数据库又应该如何分页显示呢?
分页可以使用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的数据,效率更高于语句一。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。