且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

算法,PHP取数据库中百万条数据中随机20条记录

更新时间:2022-04-02 03:29:09

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


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


当然还有其他随机方法,

http://zhoushijun.iteye.com/blog/980560