PHP实现在数据库百万条数据中随机获取20条记录的方法


Posted in PHP onApril 19, 2017

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

额,为什么要写这个?

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

今天偶然想起来一个坑爹数据,如: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;
}

当然还有其他随机方法,如:https://3water.com/article/18299.htm

PHP 相关文章推荐
MayFish PHP的MVC架构的开发框架
Aug 13 PHP
优化php效率,提高php性能的一些方法
Mar 24 PHP
让PHP更快的提供文件下载的代码
Jun 13 PHP
PHP统计目录大小的自定义函数分享
Nov 18 PHP
php利用事务处理转账问题
Apr 22 PHP
浅谈PHP中Stream(流)
Jun 08 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
Apr 30 PHP
PHP性能优化大全(php.ini)
May 20 PHP
PHP培训要多少钱
Jun 06 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
PHP连接MySQL数据库并以json格式输出
May 21 PHP
laravel框架添加数据,显示数据,返回成功值的方法
Oct 11 PHP
php简单随机字符串生成方法示例
Apr 19 #PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
Apr 19 #PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 #PHP
PHP实现活动人选抽奖功能
Apr 19 #PHP
thinkphp下MySQL数据库读写分离代码剖析
Apr 18 #PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
Apr 18 #PHP
Yii2汉字转拼音类的实例代码
Apr 18 #PHP
You might like
PHP 得到根目录的 __FILE__ 常量
2008/07/23 PHP
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
2010/02/08 PHP
PHP多个版本的分析解释
2011/07/21 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
php实现倒计时效果
2015/12/19 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
PHP 模拟登陆功能实例详解
2019/09/10 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
动态标签 悬停效果 延迟加载示例代码
2013/11/21 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
2015/03/04 Javascript
基于javascript实现九宫格大转盘效果
2020/05/28 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
利用jQuery实现打字机字幕效果实例代码
2016/09/02 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
js传递数组参数到后台controller的方法
2018/03/29 Javascript
node.js的Express服务器基本使用教程
2019/01/09 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
JavaScript编码小技巧分享
2020/09/17 Javascript
Python 除法小技巧
2008/09/06 Python
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
Python使用SocketServer模块编写基本服务器程序的教程
2016/07/12 Python
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
记一次python 内存泄漏问题及解决过程
2018/11/29 Python
Python实现一个带权无回置随机抽选函数的方法
2019/07/24 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
python网络编程之五子棋游戏
2020/05/14 Python
初婚未育未抱养证明
2014/01/12 职场文书
校长师德表现自我评价
2015/03/04 职场文书
2015大学生求职信范文
2015/03/20 职场文书