PHP如何實現在數據庫隨機獲取幾條記錄


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

為什么要寫這個?

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

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

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

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

還有一種方法,隨機20次,重復執行20次。

例如:

1         $sum=800000;//得到總條數 
2         //循環取數據 
3         for($i=1;$i<=20;$i++){ 
4           $offset=mt_rand(1,$sum); 
5           //控制重復對比的,請自行實現 
6           //數據庫取數據的,請自行實現 
7           $sql="select * from table limit $offset,1"; 
8           echo$sql; 
9         } 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM