我想在我的数据库中选择一个随机行。我在网站上看到了这个解决方案:
SELECT column FROM table
ORDER BY RAND()
LIMIT 1
此SQL查询运行但有人说我这是一个性能不高的查询。还有其他解决方案吗?
THX
答案 0 :(得分:3)
是的。您必须使用
计算行数SELECT COUNT(*) FROM `table`;
在此之后使用php函数mt_rand()获取从1到$ count的随机数并通过查询获取它:
SELECT `column` FROM `table` LIMIT $rand, 1
答案 1 :(得分:0)
在this question中,有关此主题的更多讨论,包括性能影响和不同DBMS的策略。