本文实例讲述了PHP实现在数据库百万条数据中随机获取20条记录的方法。分享给大家供大家参考,具体如下:@H_403_1@
额,为什么要写这个?@H_403_1@
在去某个公司面试时,让写个算法出来,当时就蒙了,我开发过程中用到算法的吗?又不是大数据开发,分析。@H_403_1@
今天偶然想起来一个坑爹数据,如:PHP取百万条数据中随机20条记录,当时就用的算法。@H_403_1@
1.先统计统计数据库多少条记录(这个做个数据缓存,如1小时重新统计一次),@H_403_1@
2.根据总条数,随机1次,1次性取出20条记录(当然这个就相当于分页了,要求不高的话,这个最快,我用的就是这个);@H_403_1@
还有一种方法,随机20次,重复执行20次。@H_403_1@
例如:@H_403_1@
PHP;">
$sum=800000;//得到总条数
//循环取数据
for($i=1;$i<=20;$i++){
$offset=mt_rand(1,$sum);
//控制重复对比的,请自行实现
//数据库取数据的,请自行实现
$sql="select * from table limit $offset,1";
echo $sql;
}
PS:这里再为大家提供一款功能类似的在线工具供大家参考:
在线随机数字/字符串生成工具:
@H_403_1@
高强度密码生成器:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《PHP常见数据库操作技巧汇总》@H_403_1@