大数据量分页,除了使用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 where id>最后一个的id limit 10

我为人人,人人为我;美美与共,天下大同;

PHP排序大数据量分页相关推荐

  1. Oracle大数据量分页通用存储过程

    type refCursorType is REF CURSOR;  --游标类型定义,用于返回数据集 /*********************************************** ...

  2. 千万级别数据查询优化_MySQL大数据量分页查询方法及其优化

    MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...

  3. mysql一样的查询在我本地很快但是线上很慢_MySQL大数据量分页查询方法及其优化...

    MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...

  4. (转)大数据量分页存储过程效率测试附代码

    大数据量分页存储过程效率测试附代码 在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话. 测试环境 硬件:CPU 酷睿双核T5750  内存: ...

  5. MySQL 和 Oracle 大数据量分页查询方法及其优化

    MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...

  6. 应用displaytag完成大数据量分页显示的例子

    应用displaytag在struts中完成大数据量分页显示,Oracle数据库 JSP文件: <%...@ taglib uri="/WEB-INF/displaytag.tld&q ...

  7. .NET 3.5(11) - DLINQ(LINQ to SQL)之大数据量分页、延迟执行和日志记录

    步步为营VS 2008 + .NET 3.5(11) - DLINQ(LINQ to SQL)之大数据量分页.延迟执行和日志记录 作者:webabcd 介绍 以Northwind为示例数据库,DLIN ...

  8. MySQL大数据量分页查询方法及其优化

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:收藏了!7 个开源的 Spring Boot 前后端分离优质项目个人原创+1博客:点击前往,查看更多 链接:ht ...

  9. 大数据量分页存储过程效率测试附代码

    在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话. 测试环境 硬件:CPU 酷睿双核T5750  内存:2G 软件:Windows serv ...

最新文章

  1. PostgreSQL从继承到分区(三)
  2. 订单倒计时取消,nodejs 辅助实现倒计时任务
  3. 路由器与计算机IP配置,路由器设置之前 如何给电脑设置IP地址
  4. android 按钮放中间,Android实现button居中的方法
  5. leetcode 349. Intersection of Two Arrays
  6. Count Complete Tree Nodes
  7. 【转】java string类的方法及说明
  8. json格式校验并显示错误_使用postman做自动化接口校验
  9. 【opencv学习】ROI区域和图像填充
  10. Algorithm: 匈牙利算法
  11. mysql nodejs 并发
  12. 携程Apollo 启动失败遇到的坑
  13. 拓扑图是什么?常见网络逻辑拓扑结构
  14. Ubuntu Linux全方位学习,哪一种Ubuntu官方版本适合你?
  15. 电脑本机连了VPN 在虚拟机中没有连接 如何虚拟机共享主机VPN连接
  16. 《部落冲突:皇室战争》——一款不能错过的游戏!
  17. 我的世界无限法则服务器推荐,我的世界无限法则怎么玩
  18. JAVA简单连接数据库(Mysql)
  19. MySQL数据库介绍及特点
  20. Windows下谨慎使用动态磁盘

热门文章

  1. Amazon Redshift - 基本介绍
  2. Default encoder for format image2 (codec png) is probably disabled. Please choose an encoder manuall
  3. java-net-php-python-java国内热映电影影评网站计算机毕业设计程序
  4. Windows命令行tree命令打印目录树
  5. Fidder介绍、工作原理
  6. 将Outlook中的邮件保存到本地磁盘,释放邮箱空间
  7. android下运行时动态链接dlopen()和dlsym()的实现
  8. python中ord函数
  9. [react] Target container is not a DOM element
  10. 100种思维模型之那什均衡思维模型-038