当前位置:首页 > php > 正文内容

thinkphp6 对于大数据的性能优化处理

zhangsir3年前 (2023-01-15)php188

一,分页功能

分页功能建议使用官方提供的paginateX分页查询方法,如下是官方原话:

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

由于paginateX没有总数,所以在查询一下总数就可以了,可以thinkphp6做api,前端用layui框架做分页界面。实现分页功能。

查询总数
$page = Db::query("SELECT COUNT(*) FROM think_user")[0]['COUNT(*)'];

二,用搜索功能

搜索功能使用模糊查询,我以前做搜索,就是遍历数据库,应该用模糊查询的。[尴尬],实例:

//模糊查询
$user = User::where('name','like','%'.$a1.'%')->column('id,name,create_time,img');

三,索引

给经常作为查询条件的字段做索引,字段做不做索引,对查询的速度真的影响很大,

注:尽量不使用select(),select()返回的是对象。可以使用其他例如:column(),column()返回的是数组。

zhangsir版权t6防采集https://mianka.xyz

扫描二维码推送至手机访问。

版权声明:本文由zhangsir or zhangmaam发布,如需转载请注明出处。

本文链接:https://www.mianka.xyz/post/101.html

标签: phpthinkphp
分享给朋友:

“thinkphp6 对于大数据的性能优化处理” 的相关文章

迅睿CMS:常用标签汇总+模板常用调用总结

一、系统调用标签二、模板调用标签1、首页网站名称:{SITE_NAME} {$meta_title}(列表页通用) {$meta_keywords} {$meta_description}2、封面页 3、列表页迅睿cms调用本栏目基础信息标签代码:当前栏目ID:$catid 单独调用...

swoole如何在宝塔面板上一直运行并保持进程。

下载进程守护管理器。使用进程守护管理器。就可以了。...

PHP下载中文名称的文件,文件名乱码的解决方法!

PHP中,如果要下载的文件名称为中文,则会出现文件标题乱码。此时就需要对标题进行编码,也就是说先进性urlencode,然后再放入header,然后问题就解决了。$filename = urlencode("下载文档"); header (&nbs...

php 实现返回上一页

php实现返回上一页的功能的3种有效方法header(location:你的上一页的路径);   //   注意这个函数前不能有输出     header(location:.getenv(&quo...

think PHP返回上一页的办法!

think PHP返回上一页的办法!输入如下代码即可返回上一页return redirect($_SERVER["HTTP_REFERER"]);...

thinkphp 利用PHPMailer三方类发送邮件

1.首先用composer下载PHPMailer,在网站根目录进入命令行输入如下命令即可composer require phpmailer/phpmailer2.然后创建文件Ma.php,填写如下代码<?php namespace app\controller...