我需要更快的替代
SELECT *
FROM table
WHERE cat='catname'
ORDER BY RAND() LIMIT 6
答案 0 :(得分:2)
如果表格很大,在应用程序内部进行随机播放可能会非常慢。
这个解决方案怎么样:
找出表的大小(多少行)。而且,以编程方式找到0和number_of_rows
之间的6个随机数。
搜索行的第二个查询:
select * from table where id = id1 or id = id2...
答案 1 :(得分:0)
更快的方法是不要在查询中使用RAND()
。在您的应用程序中随机播放您的结果。