常见的分页方式

1.概念

物理分页:利用数据库本身提供的分页方式,如mysql的limit,oracle的rownum,好处是效率高,不好的地方就是不同的数据库有不同的搞法。如hibernate采用的是物理分页。

逻辑分页:利用游标分页,好处是数据库兼容,坏处是效率太低。

真分页:确定要显示的页面内容数量,按需查询,效率高,但访问数据库频繁,大型网站都用真分页。

假分页:一次性从数据库查出所有的数据并在页面上显示。


2.常见的分页实现方式

sql:

MySQL  :SELECT * FROM tablename LIMIT M,N;(M从哪里开始,N数据的条数)

Oracle: select * from (select s.* ,rownum rn from (select * from tablename) s where rownum<=10) where rn>==1;

存储过程

create or replace package testpackage as type test_cursor is ref cursor;
end testpackage;
create or replace procedure fenye
(tableName in varchar2,pageSize in number,
pageNow in number,myrows out number,
myPageCount out number,p_cursor out testpackage.test_cursor)
is 
v_sql varchar2(1000);
v_begin number:=(pageNow-1)*pageSize+1;
v_end number:=pageNow*pageSize;
begin
v_sql:='select * from (select t1.*,ROWNUM rn from (select * from'||tableName||') t1 where rownum<='||v_end||')
where rn>=&#
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值