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 相关文章推荐
PHP自动生成月历代码
Oct 09 PHP
怎样在php中使用PDF文档功能
Oct 09 PHP
全世界最小的php网页木马一枚 附PHP木马的防范方法
Oct 09 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
Aug 01 PHP
PHP 事件机制(2)
Mar 23 PHP
一个PHP的QRcode类与大家分享
Nov 13 PHP
php实现上传图片生成缩略图示例
Apr 13 PHP
ThinkPHP模板输出display用法分析
Nov 26 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
php无限级评论嵌套实现代码
Apr 18 PHP
laravel5使用freetds连接sql server的方法
Dec 07 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
May 06 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代码的参数说明
2008/06/07 PHP
php错误、异常处理机制(补充)
2012/05/07 PHP
PHP优于Node.js的五大理由分享
2012/09/15 PHP
PHP实现清除wordpress里恶意代码
2015/10/21 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
jQuery关键词说明插件cluetip使用指南
2015/04/21 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
详谈js模块化规范
2017/07/07 Javascript
vue实现a标签点击高亮方法
2018/03/17 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
基于elementUI使用v-model实现经纬度输入的vue组件
2019/05/12 Javascript
微信小程序Echarts覆盖正常组件问题解决
2019/07/13 Javascript
Node.js安装详细步骤教程(Windows版)详解
2019/09/01 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
2020/07/20 Javascript
Python交换变量
2008/09/06 Python
简单谈谈Python中的反转字符串问题
2016/10/24 Python
python 列表,数组,矩阵两两转换tolist()的实例
2018/04/04 Python
Python中的TCP socket写法示例
2018/05/11 Python
Python中asyncio与aiohttp入门教程
2018/10/16 Python
基于TensorFlow中自定义梯度的2种方式
2020/02/04 Python
将python字符串转化成长表达式的函数eval实例
2020/05/11 Python
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
吉力贝官方网站:Jelly Belly
2019/03/11 全球购物
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
酒店中秋节促销方案
2014/01/30 职场文书
构建高效课堂实施方案
2014/03/13 职场文书
小学生环保标语
2014/06/13 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
优秀教研组申报材料
2014/12/26 职场文书
大学学生会主席竞选稿
2015/11/19 职场文书
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang