可能重复:
quick selection of a random row from a large table in mysql
我已经看到使用这样的查询拉取随机行,这对于大型数据集效率非常低。
SELECT id FROM table ORDER BY RANDOM() LIMIT 1
我还看到了其他各种与MySQL无关的RDBMS特定解决方案。
我能想到的最好的事情就是使用两个查询并执行类似的操作。
这是SQL:
SELECT COUNT(*) FROM table;
SELECT id FROM table LIMIT randnum, 1;
有没有人有更好的主意?