我在yii
中遇到了active record
的问题。所以基本的问题是如何定义USE INDEX()
mySQL标准作为CDbCriteria传递给CActivedataprovider。我没有在api或代码中找到它。也许有人已经遇到过这个问题,可以分享一下他的解决方案。
谢谢。
我找到了解决方案。https://github.com/yiisoft/yii/issues/1385这个hack有助于简单的选择和索引。
如果你使用yii2,你可以这样做:
$yourQuery = YourModel::find()
->select(['*'])
->from(['yourTable USE INDEX(index1, index2, index3)']);
这对于AR是不可能的,您应该将代码重写为DAO。