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 相关文章推荐
第1次亲密接触PHP5(1)
Oct 09 PHP
PHP设计模式之调解者模式的深入解析
Jun 13 PHP
浅谈php命令行用法
Feb 04 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
Mar 18 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
Mar 18 PHP
PHP表单验证内容是否为空的实现代码
Nov 14 PHP
php unicode编码和字符串互转的方法
Aug 12 PHP
php 中的closure用法详解
Jun 12 PHP
PHP中phar包的使用教程
Jun 14 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
Feb 28 PHP
设定php简写功能的方法
Nov 28 PHP
Laravel5.1 框架表单验证操作实例详解
Jan 07 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+MYSQL的文章管理系统(一)
2006/10/09 PHP
php 特殊字符处理函数
2008/09/05 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
js保留两位小数使用toFixed实现
2013/07/29 Javascript
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
JavaScript实现非常简单实用的下拉菜单效果
2015/08/27 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
AngularJS实现动态添加Option的方法
2017/05/17 Javascript
js异步编程小技巧详解
2017/08/14 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
Vue实现数据请求拦截
2019/10/23 Javascript
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
用Python写王者荣耀刷金币脚本
2017/12/21 Python
使用python编写监听端
2018/04/12 Python
python实现多人聊天室
2020/03/31 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
2019/05/10 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
Booking.com德国:预订最好的酒店和住宿
2020/02/16 全球购物
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
计算机专业优秀大学生自我总结
2014/01/21 职场文书
2014班子“三严三实”对照检查材料思想汇报
2014/09/18 职场文书
赔偿协议书
2015/01/27 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
决心书格式范文
2015/09/23 职场文书
python中的getter与setter你了解吗
2022/03/24 Python
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang