最佳化大型 MySQL 表中的隨機行選擇
從大型 MySQL 表中高效檢索單一隨機行對於許多應用程式至關重要。常見的方法是取得所有行 ID,隨機選擇一個,然後檢索對應的行。
對於具有連續 ID 且沒有間隙的表,找到最大 ID 並產生該範圍內的隨機 ID 提供了一種快速解決方案。 然而,如果間隙存在但相對不頻繁,則隨機性稍差但仍然實用的方法是估計間隙計數,獲取最大 ID,計算隨機 ID,並檢索 ID 大於或等於計算值的第一行值。
至關重要的是,避免使用 ORDER BY RAND()
進行隨機行選擇。這種方法常常會導致全表掃描,達不到快速檢索的目的。 同樣,使用 GUID 進行排序同樣效率低。
以上是如何快速從大型 MySQL 表中檢索隨機行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!