CDbCriteria和mysql USE INDEX()

时间:2013-05-27 16:35:26

标签: php mysql yii

我在active record中遇到了yii的问题。所以基本问题是如何将USE INDEX() mySQL标准定义为CDbCriteria以将其传递给CActivedataprovider。 我没有在api或代码中找到它。也许有人之前已经遇到过这个问题并且可以分享他的解决方案。

谢谢。

3 个答案:

答案 0 :(得分:2)

我找到了解决方案。 https://github.com/yiisoft/yii/issues/1385这个hack有助于简单的选择和索引。

答案 1 :(得分:1)

如果您使用yii2,您可以这样做:

$yourQuery = YourModel::find()
        ->select(['*'])
        ->from(['yourTable USE INDEX(index1, index2, index3)']);

答案 2 :(得分:0)

AR不可能做到。您应该将代码重写为DAO