【发布时间】:2011-10-26 14:14:01
【问题描述】:
我需要一个更快的替代方法
SELECT *
FROM table
WHERE cat='catname'
ORDER BY RAND() LIMIT 6
【问题讨论】:
我需要一个更快的替代方法
SELECT *
FROM table
WHERE cat='catname'
ORDER BY RAND() LIMIT 6
【问题讨论】:
如果表非常大,在您的应用程序中洗牌可能会很慢。
这个解决方案怎么样:
找出表格的大小(多少行)。比,以编程方式找到 0 到 number_of_rows 之间的 6 个随机数。
搜索行的第二个查询:
select * from table where id = id1 or id = id2...
【讨论】:
更快的方法是不要在查询中使用RAND()。在您的应用程序中随机播放您的结果。
【讨论】: