专题文章
时长:00:00更新时间:2020-11-09 09:31:10
1.SELECT * FROM `table` ORDER BY RAND() LIMIT 5 就可以了。但是真正测试一下才发现这样效率非常低。一个15万余条的库,查询5条数据,居然要8秒以上 查看官方手册,也说rand()放在ORDER BY 子句中会被执行多次,自然效率及很低。You cannot use a column with RAND() values in an ORDER BY clause.because ORDER BY would evaluate the column multiple times.搜索Google,网上基本上都是查询max(id) * rand()来随机获取数据。但是这样会产生连续的5条记录。解决办法只能是每次查询一条,查询5次。
查看详情