我在500,000行的表格上以5秒的间隔运行此查询5次:
SELECT * FROM `apps` WHERE dev_name = '' ORDER BY RAND() LIMIT 10;
我想获得50行,其中90-95%的可能性是唯一的。查询现在需要10秒钟。我宁愿把它降低,随机的可能性也会降低。
答案 0 :(得分:0)
尝试
AND RAND() >= 0.90
WHERE子句中的(或0.95,如果你愿意)。
答案 1 :(得分:0)
您可能希望学习Fetching Random Rows from a Table,正如here in a related question中所强调的那样。可以找到另一篇很棒的文章here。