Yii2使用GridView中的activeDataProvider处理大数据的最佳方法?

时间:2017-04-18 11:20:55

标签: mysql gridview activerecord yii2

我有一个包含100k记录的销售数据库表。在未来的几个月里,这个大小会翻倍,然后会增加三倍等等。这个表与另外两个我需要数据的表有关系。最后,我想在GridView中使用ActiveDataProvider列出所有内容,但需要花费很长时间(3-5分钟)。我想知道处理这种情况的最佳方法是什么?

我当前的查询如下所示:

$query = Sale::find()->select([
    's.*',
    'u.username as userName',
    'ship.name as ShipName'
])
  ->joinWith('user')
  ->joinWith('shipping')

    $dataProvider = new ActiveDataProvider([
        'query' => $query,
        'pagination' => [
            'defaultPageSize' => 25,
            'pageSizeLimit' => 1000],
    ]);

正如您可以看到它的简单查询,但数据太大而无法正常工作..我该怎么办?

0 个答案:

没有答案