本文实例讲述了PHP实现在数据库百万条数据中随机获取20条记录的方法。PHP实例分享给大家供大家参考,具体如下:

为什么要写这个?

在去某个公司面试时,让写个算法出来,当时就蒙了,我开发过程中用到算法的吗?又不是大数据开发,分析。

今天偶然想起来一个坑爹数据,如:PHP取百万条数据中随机20条记录,当时就用的算法。

1.先统计统计数据库多少条记录(这个做个数据缓存,如1小时重新统计一次),

2.根据总条数,随机1次,1次性取出20条记录(当然这个就相当于分页了,要求不高的话,这个最快,我用的就是这个);

还有一种方法,随机20次,重复执行20次。

例如:

         $sum=800000;//得到总条数
//循环取数据
for($i=1;$i<=20;$i++){
$offset=mt_rand(1,$sum);
//控制重复对比的,请自行实现
//数据库取数据的,请自行实现
$sql="select * from table limit $offset,1";
echo$sql;
}

最新文章

  1. linux高级编程补充知识
  2. 【转】【MySql】MySql优化要点
  3. 第三章 springboot + jedisCluster
  4. Tomcat_修改代码后tomcat是否需要重启
  5. cocos2dx 3.x(多个按钮button执行同一事件的区分)
  6. navicat内的主键和外键
  7. oracel数据库基本知识和基本查询方法
  8. 如何在Docker中部署DzzOffice
  9. 转:Android开发中的MVP架构(最后链接资源不错)
  10. Joomla必备模块(转自joomla8)
  11. (转)Unity3D移动平台动态读取外部文件全解析
  12. angular-ui-alert
  13. 【20171025早】alert(1) to win 练习
  14. windows :config windows update &hellip; 一直处于假死状态
  15. ~/Library/MobileDevice/Provisioning Profiles
  16. 如何在Chrome中导入和导出密码
  17. 常用xpath选择器和css选择器总结
  18. React componentWillUpdate
  19. tsm 切记
  20. HTTP Basic Authentication认证(Web API)

热门文章

  1. ansible基础-加密
  2. [Swift]LeetCode918. 环形子数组的最大和 | Maximum Sum Circular Subarray
  3. iOS学习——Quartz2D学习之DrawRect
  4. [bzoj4771] 七彩树
  5. 解决IDEA安装Python插件,下载失败的方法
  6. 3.django Model
  7. 有了这 4 大特性,CDN 好用到飞起
  8. .NET Core中的数据保护组件
  9. replugin插件化,插件转场动画失效的问题解决
  10. log4j2.yml配置文件