溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時間:2021-06-22 14:30:52 來源:億速云 閱讀:169 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“PHP如何實現(xiàn)在數(shù)據(jù)庫百萬條數(shù)據(jù)中隨機獲取20條記錄”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“PHP如何實現(xiàn)在數(shù)據(jù)庫百萬條數(shù)據(jù)中隨機獲取20條記錄”這篇文章吧。

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

額,為什么要寫這個?

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

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

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

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

還有一種方法,隨機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;
}

以上是“PHP如何實現(xiàn)在數(shù)據(jù)庫百萬條數(shù)據(jù)中隨機獲取20條記錄”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI