如何快速地随机取记录? select * from table order by rand(); 是如此的慢以至于根本无法用。我的表非常的巨大 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 千万别用rand()取随机数字可以产生几个随机id 类似 select * from tb where id in (3,55,77,101,555); show index table 表名;临时表处理后,然后再select * from 临时表 order by rand(); 如果取的id比较多的话,用in是不好处理的。 select * from table order by rand(); 是全表扫描生成结果后再利用文件排序,速度肯定慢。一般的通用做法是,先在程序中生成一组随机数, A() = {1,40,99,452 }然后找出ID<= 这些随机数的 limit 1 的记录。 MySQL1136费解错误?! mysql的一个计算问题,求数据库高手解答 MySQL语句的问题 MySQL中有没有限制返回的结果的关键字 求这么一个功能的SQL语句 请问sql语句! 如何开始学习Mysql? 请问哪儿有数据库的入门级学习资料下载? 关于MySQL重新设置密码的问题求解 python服务器代码和android studio代码可以无修改跨平台运行吗? 关于mysql什么时候会生成磁盘上的临时表的问题 如何采用mysql实现oracle的decode()函数的来解决一个查询问题??急!急!
可以产生几个随机id 类似 select * from tb where id in (3,55,77,101,555);
临时表处理后,然后再
select * from 临时表 order by rand();
然后找出ID<= 这些随机数的 limit 1 的记录。