問題陳述:
從使用「顯而易見」的方法(顯而易見」的方法(顯而易見」的方法(顯而易見」的方法(顯而易見」 SELECT * FROM table ORDER BY)有效率地大型MySQL 資料庫可能具有挑戰性RAND() 限制n)。這種方法效率低下的原因在於它對每行使用 RAND() 並進行後續排序,導致資源密集型 O(n lg n) 複雜度。
高效解決方案:
要克服這個障礙,請考慮採用更有效的方法:
SELECT * FROM table WHERE RAND() <= 0.3
此解決方案優於「顯而易見」的方法,因為它能夠為每行產生0 到1 之間的隨機數,然後根據機率閾值(本例中為0.3)評估是否顯示該行。
解釋:
其他注意事項:
以上是如何從大型 MySQL 資料庫中高效提取簡單的隨機樣本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!