用shuffle代替rand随机取出几条数据效率更高

以ThinkPHP为例:

$User = M('user');
$map = array(.......);//查询条件
$ids = $User->where($map)->limit(100)->getField('id', true);
shuffle($ids);
$map = array('id'=>array('in', array_slice($ids, 0, 10)));//打乱并取出10个id
$_result = $User->field('id,name,nick')->where($map)->select();

 

posted @ 2016-03-16 23:02  smismile  阅读(739)  评论(0)    收藏  举报