使用Where子句按Rand()排序

时间:2011-10-26 14:14:02

标签: mysql random

我需要更快的替代

SELECT * 
    FROM table 
    WHERE cat='catname' 
    ORDER BY RAND() LIMIT 6

2 个答案:

答案 0 :(得分:2)

如果表格很大,在应用程序内部进行随机播放可能会非常慢。

这个解决方案怎么样:

找出表的大小(多少行)。而且,以编程方式找到0和number_of_rows之间的6个随机数。

搜索行的第二个查询:

select * from table where id = id1 or id = id2...

答案 1 :(得分:0)

更快的方法是不要在查询中使用RAND()。在您的应用程序中随机播放您的结果。