【发布时间】:2010-12-21 20:27:48
【问题描述】:
我已经阅读了 MySQL 的 ORDER BY RAND() 函数的一些替代方案,但大多数替代方案仅适用于需要单个随机结果的地方。
有谁知道如何优化返回多个随机结果的查询,例如:
SELECT u.id,
p.photo
FROM users u, profiles p
WHERE p.memberid = u.id
AND p.photo != ''
AND (u.ownership=1 OR u.stamp=1)
ORDER BY RAND()
LIMIT 18
【问题讨论】:
-
我不明白你在找什么。为什么
ORDER BY RAND()不适合?你主要关心效率吗? -
是的,没错。我还没有达到你图表中显示的规模,而且我已经受到了打击。
-
@outis:因为它无法扩展 - 请参阅:dasprids.de/blog/2008/06/07/…
-
我写了一篇关于解决方案的文章大约一年去:devzone.zend.com/article/…
标签: sql mysql random sql-order-by