您当前的位置: 首页 >  php

苗先生的PHP记录

暂无认证

  • 0浏览

    0关注

    190博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

php 框架计算偏移量

苗先生的PHP记录 发布时间:2022-07-25 16:15:53 ,浏览量:0

正常分页比如TP框架是可以直接使用paginate链式函数或者page函数

但是如果想直接使用select方法查询 , 就需要手动计算偏移量, 在limit中使用

        $page = input('page',1,'intval');
        $limit = input('limit',10,'intval');
        // 分页偏移量
        $offset     = ($page - 1) * $limit;
        $limit      = $offset.','.$limit;
        $users = UserModel::order('id desc')->limit($limit)->select();

但是,众所周知mysql很神奇

当一个查询语句偏移量offset很大的时候,如select * from table limit 10000,10 , 先获取到offset的id后,再直接使用limit size来获取数据,效率会有一些提升,但不是很大。

比如:

[SQL] select * from user order by id limit 1000,10; 受影响的行: 10 时间: 0.029s

[SQL] select * from user where id>(SELECT id from user order by id limit 1000,1) limit 10; 受影响的行: 10 时间: 0.012s

关注
打赏
1665468453
查看更多评论
立即登录/注册

微信扫码登录

0.0397s