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 cache类代码(php数据缓存类)
Apr 15 PHP
php关于array_multisort多维数组排序的使用说明
Jan 04 PHP
php压缩多个CSS为一个css的代码并缓存
Apr 21 PHP
php 模拟get_headers函数的代码示例
Apr 27 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
Jun 14 PHP
简单的php中文转拼音的实现代码
Feb 11 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
Jun 23 PHP
[原创]php实现子字符串位置相互对调互换的方法
Jun 02 PHP
php mysql操作mysql_connect连接数据库实例详解
Dec 26 PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 PHP
laravel validate 设置为中文的例子(验证提示为中文)
Sep 29 PHP
php中使用array_filter()函数过滤数组实例讲解
Mar 03 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
在Zeus Web Server中安装PHP语言支持
2006/10/09 PHP
PHP4与PHP3中一个不兼容问题的解决方法
2006/10/09 PHP
PHP 面向对象 final类与final方法
2010/05/05 PHP
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
PHP读取文件的常见几种方法
2016/11/03 PHP
QUnit jQuery的TDD框架
2010/11/04 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
javascript 三种方法实现获得和设置以及移除元素属性
2013/03/20 Javascript
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
js中split函数的使用方法说明
2013/12/26 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
IE下JS保存图片的简单实例
2016/07/15 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
js提取中文拼音首字母的封装工具类
2018/03/12 Javascript
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
解决vue一个页面中复用同一个echarts组件的问题
2020/07/19 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
2020/07/22 Javascript
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
深入理解 Python 中的多线程 新手必看
2016/11/20 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
python使用knn实现特征向量分类
2018/12/26 Python
Python创建字典的八种方式
2019/02/27 Python
django中瀑布流写法实例代码
2019/10/14 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
python pyqtgraph 保存图片到本地的实例
2020/03/14 Python
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
城市轨道专业个人求职信范文
2013/09/23 职场文书
超市营业员岗位职责
2013/12/20 职场文书
《草原的早晨》教学反思
2014/04/08 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
2014年社区党建工作汇报材料
2014/11/02 职场文书
Win11安全功能升级:内置防网络钓鱼功能
2022/04/08 数码科技