本文實例講述了PHP實現在數據庫百萬條數據中隨機獲取20條記錄的方法。分享給大家供大家參考,具體如下:
額,為什么要寫這個?
在去某個公司面試時,讓寫個算法出來,當時就蒙了,我開發過程中用到算法的嗎?又不是大數據開發,分析。
今天偶然想起來一個坑爹數據,如: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://www.jb51.net/article/18299.htm
PS:這里再為大家提供一款功能類似的在線工具供大家參考:
在線隨機數字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
高強度密碼生成器:
http://tools.jb51.net/password/CreateStrongPassword
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php字符串(string)用法總結》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《php排序算法總結》、《PHP常用遍歷算法與技巧總結》、《PHP數學運算技巧總結》、《PHP數組(Array)操作技巧大全》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。