加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP Yii标准选择带限制的随机记录

发布时间:2020-12-13 21:51:09 所属栏目:PHP教程 来源:网络整理
导读:我在问题模型中有1000个问题. 如何使用Yii标准随机选择10000个问题中的50个问题? 我使用Mysql作为Db 到目前为止,我已尝试过以下内容 $criteria = new CDbCriteria;$criteria-limit = 50;$criteria-select = array('id');$criteria-addCondition('chapter =
我在问题模型中有1000个问题.
如何使用Yii标准随机选择10000个问题中的50个问题?

我使用Mysql作为Db

到目前为止,我已尝试过以下内容

$criteria = new CDbCriteria;
$criteria->limit = 50;
$criteria->select = array('id');
$criteria->addCondition('chapter = xyz');

解决方法

如果您使用的是MySQL,那么它是:

$criteria->order = 'RAND()';

(从@topher回复更新)

在大量行上使用此技术需要很长时间(source):

As soon as you have 10000 rows the overhead for sorting the rows
becomes important.

在这种情况下,请参考以下答案:

> MySQL select 10 random rows from 600K rows fast
> How can i optimize MySQL’s ORDER BY RAND() function?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读