ThinkPHP6普通分页及大数据分页,分页优化

2020-08-24    分类:后端    标签:TP6    阅读:272   


一、普通数据分页

ThinkPHP内置了分页实现,要给数据添加分页输出功能变得非常简单,可以直接在Db类查询的时候调用paginate方法:

// 查询状态为1的用户数据 并且每页显示10条数据

$list = Db::name('user')->where('status',1)->order('id', 'desc')->paginate(10);

// 渲染模板输出

return view('index', ['list' => $list]);

模板文件中分页输出代码如下:

<div>
<ul>
{volist name='list' id='user'}
    <li> {$user.nickname}</li>
{/volist}
</ul>
</div>
{$list|raw}

二、大数据分页

对于大量数据的分页查询,系统提供了一个高性能的paginateX分页查询方法,用法和paginate分页查询存在一定区别。如果你要分页查询的数据量在百万级以上,使用paginateX方法会有明显的提升,尤其是在分页数较大的情况下。并且由于针对大数据量而设计,该分页查询只能采用简洁分页模式,所以没有总数。

主要场景是针对主键进行分页查询,默认使用主键倒序查询分页数据。

$list = Db::name('user')->where('status',1)->paginateX(20);

也可以在查询的时候可以指定主键和排序

$list = Db::name('user')->where('status',1)->paginateX(20, 'id', 'desc');

查询方法会执行两次查询,第一次查询用于查找满足当前查询条件的最大或者最小值,然后配合主键查询条件来进行分页数据查询。

以上就是thinkphp6的分页介绍,更多请参考ThinkPHP6开发手册。

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元 618年中云钜惠大促,精选云产品1折起,助力新基建,618年中大促云服务器88元

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://www.tpxhm.com/adetail/392.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录
头像

简忆博客
仕而优则学,学而优则仕。

置顶推荐

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×