目前,我正在使用此查詢在我的PHP腳本:如何對所選行進行排序(真正)隨機?
SELECT * FROM `ebooks` WHERE `id`!=$ebook[id] ORDER BY RAND() LIMIT 125;
該數據庫將約2500排在最高大的,但我讀過ORDER BY RAND()
最終將處理時間慢下來作爲數據數據庫增長。
所以我正在尋找一種替代方法來查詢我的問題,讓事情順利進行。
此外,我注意到ORDER BY RAND()
並不是真正的隨機化行,因爲我經常看到它遵循某種模式,有時會一遍又一遍地重複。
是否有任何方法可以真正隨機化行?
'ORDER BY RAND()'減慢,不'RAND()'本身。 – hakre 2012-03-13 16:58:08
AFAIK最好的方法是做隨機PHP端。例如,如果你的ID是一致的,你可以從MySQL獲得count(*),然後隨機選擇一些id。 – Robus 2012-03-13 16:58:31
看看http://stackoverflow.com/questions/1823306/mysql-alternatives-to-order-by-rand – a1ex07 2012-03-13 16:59:17