PHP排序大数据量分页
大数据量分页,除了使用mysql的limit 排序,也可以使用php排序,来实现业务。
limit a,b 的取数据方式是,先取出a+b条数据,再把a条筛选掉,剩b条,相当于一次性要取a+b条的数据,而a条其实是无用的
代码:使用到的函数 usort、array_slice
public function getPage(int $pageSize, int $offset){$sql = 'select scores,count(id) as num from poster_info group by scores';$db = $this->getDataBase(true);$rs = $db->createSql($sql)->query($sql)->fetchAll();// 结果进行排序usort($rs, [$this, 'sortfunction']);if ( !$pageSize ) {return $rs;}return array_slice($rs, $offset, $pageSize);}
public function sortfunction(array $a, array $b): int{if ( $a['num'] == $b['num'] ) {return 0;}return $a['num'] > $b['num'] ? -1 : 1;}
usort :
array_slice :分割数组,获取当前需要展示的页数
当然也可以使用mysql大数据分页,先查找出当前要查找的起始行id,然后执行
select
*
from
a
where
id>最后一个的id limit 10
我为人人,人人为我;美美与共,天下大同;
PHP排序大数据量分页相关推荐
- Oracle大数据量分页通用存储过程
type refCursorType is REF CURSOR; --游标类型定义,用于返回数据集 /*********************************************** ...
- 千万级别数据查询优化_MySQL大数据量分页查询方法及其优化
MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...
- mysql一样的查询在我本地很快但是线上很慢_MySQL大数据量分页查询方法及其优化...
MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...
- (转)大数据量分页存储过程效率测试附代码
大数据量分页存储过程效率测试附代码 在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话. 测试环境 硬件:CPU 酷睿双核T5750 内存: ...
- MySQL 和 Oracle 大数据量分页查询方法及其优化
MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...
- 应用displaytag完成大数据量分页显示的例子
应用displaytag在struts中完成大数据量分页显示,Oracle数据库 JSP文件: <%...@ taglib uri="/WEB-INF/displaytag.tld&q ...
- .NET 3.5(11) - DLINQ(LINQ to SQL)之大数据量分页、延迟执行和日志记录
步步为营VS 2008 + .NET 3.5(11) - DLINQ(LINQ to SQL)之大数据量分页.延迟执行和日志记录 作者:webabcd 介绍 以Northwind为示例数据库,DLIN ...
- MySQL大数据量分页查询方法及其优化
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:收藏了!7 个开源的 Spring Boot 前后端分离优质项目个人原创+1博客:点击前往,查看更多 链接:ht ...
- 大数据量分页存储过程效率测试附代码
在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话. 测试环境 硬件:CPU 酷睿双核T5750 内存:2G 软件:Windows serv ...
最新文章
- PostgreSQL从继承到分区(三)
- 订单倒计时取消,nodejs 辅助实现倒计时任务
- 路由器与计算机IP配置,路由器设置之前 如何给电脑设置IP地址
- android 按钮放中间,Android实现button居中的方法
- leetcode 349. Intersection of Two Arrays
- Count Complete Tree Nodes
- 【转】java string类的方法及说明
- json格式校验并显示错误_使用postman做自动化接口校验
- 【opencv学习】ROI区域和图像填充
- Algorithm: 匈牙利算法
- mysql nodejs 并发
- 携程Apollo 启动失败遇到的坑
- 拓扑图是什么?常见网络逻辑拓扑结构
- Ubuntu Linux全方位学习,哪一种Ubuntu官方版本适合你?
- 电脑本机连了VPN 在虚拟机中没有连接 如何虚拟机共享主机VPN连接
- 《部落冲突:皇室战争》——一款不能错过的游戏!
- 我的世界无限法则服务器推荐,我的世界无限法则怎么玩
- JAVA简单连接数据库(Mysql)
- MySQL数据库介绍及特点
- Windows下谨慎使用动态磁盘
热门文章
- Amazon Redshift - 基本介绍
- Default encoder for format image2 (codec png) is probably disabled. Please choose an encoder manuall
- java-net-php-python-java国内热映电影影评网站计算机毕业设计程序
- Windows命令行tree命令打印目录树
- Fidder介绍、工作原理
- 将Outlook中的邮件保存到本地磁盘,释放邮箱空间
- android下运行时动态链接dlopen()和dlsym()的实现
- python中ord函数
- [react] Target container is not a DOM element
- 100种思维模型之那什均衡思维模型-038