有效率且快速地從大型 MySQL 表中擷取隨機行 從大型 MySQL 表中快速擷取隨機記錄是一個常見難題。本文探討了高效率的方法,無論使用何種程式語言,都專注於 PHP。 隨機行檢索方法 方法一:利用行 ID 從表格中檢索所有唯一的行 ID。 從所得的集合中選擇一個隨機 ID。 取得與所選 ID 關聯的完整記錄。 方法二:計算隨機行 ID 假設行 ID 連續且無碎片,取得最大 ID。 在 ID 範圍內產生一個隨機值。 選擇 ID 大於或等於產生值的第一個記錄。這種方法會略微偏向序列中缺口後的 ID。 方法三:避免表格掃描 必須避免透過隨機排序行來進行表格掃描。隨機排序會導致低效率的表掃描。 同樣,按 GUID 排序也會導致效能問題。 總結 採用這些技術可以確保快速有效地選擇隨機行,從而顯著減少對資料庫效能的影響。