国产精品成人VA在线观看,亚洲日韩在线中文字幕综合,亚洲AV电影天堂男人的天堂,久久人人爽人人爽人人av东京热

News新聞

業(yè)界新聞動態(tài)、技術(shù)前沿
Who are we?

您的位置:首頁      樂道系統(tǒng)FAQ      PHP實現(xiàn)在數(shù)據(jù)庫百萬條數(shù)據(jù)中隨機獲取20條記錄的方法

PHP實現(xiàn)在數(shù)據(jù)庫百萬條數(shù)據(jù)中隨機獲取20條記錄的方法

標(biāo)簽: 發(fā)布日期:2017-04-19 00:00:00 283

本文實例講述了PHP實現(xiàn)在數(shù)據(jù)庫百萬條數(shù)據(jù)中隨機獲取20條記錄的方法。分享給大家供大家參考,具體如下:

額,為什么要寫這個?

在去某個公司面試時,讓寫個算法出來,當(dāng)時就蒙了,我開發(fā)過程中用到算法的嗎?又不是大數(shù)據(jù)開發(fā),分析。

今天偶然想起來一個坑爹數(shù)據(jù),如:PHP取百萬條數(shù)據(jù)中隨機20條記錄,當(dāng)時就用的算法。

1.先統(tǒng)計統(tǒng)計數(shù)據(jù)庫多少條記錄(這個做個數(shù)據(jù)緩存,如1小時重新統(tǒng)計一次),

2.根據(jù)總條數(shù),隨機1次,1次性取出20條記錄(當(dāng)然這個就相當(dāng)于分頁了,要求不高的話,這個最快,我用的就是這個);

還有一種方法,隨機20次,重復(fù)執(zhí)行20次。

例如:

$sum=800000;//得到總條數(shù)
//循環(huán)取數(shù)據(jù)
for($i=1;$i<=20;$i++){
  $offset=mt_rand(1,$sum);
  //控制重復(fù)對比的,請自行實現(xiàn)
  //數(shù)據(jù)庫取數(shù)據(jù)的,請自行實現(xiàn)
  $sql="select * from table limit $offset,1";
  echo $sql;
}