个人见解,mysql里面order by rand() limit xx是很好资源的,如果是线下用于数据分析倒还好,如果线上可能不能接受。最好的方式应该是用程序生成随机数组,然后直接去取,where id=xx
纯粹用数据库的话,思路也是一样,先生成10个随机数,然后select 这里用了round函数不知道会不会对结果产生偏差。SELECT ROUND(RAND()*10000000,0) into @rand1; select * from tbxxx where id=@rand1;循环10次。这是我能想到的最好办法了。
这里用了round函数不知道会不会对结果产生偏差。SELECT ROUND(RAND()*10000000,0) into @rand1;
select * from tbxxx where id=@rand1;循环10次。这是我能想到的最好办法了。
mysql书籍,mysql高性能第三版。
然后用 id in(,,,,) 的形式,也是瞬间出结果的事情
昨天碰到的一道面试题。。尼玛,一面数据库,必挂分组排序:http://blog.csdn.net/mchdba/article/details/22163223