Hello开发人员,
我正在使用ajax按钮调用(或正常的重定向或刷新)更新CGridview时遇到严重延迟,我可以告诉使用firebug的控制台,请求本身需要大约399 MS也不错,但是当CGridview更新时它会下山,我正在谈论3941 MS(或4.3秒)只是为了更新视图,这对我来说非常糟糕!
启用所有Yii所需扩展(例如Memcache,PDO MySQL和APC)。我还提到使用缓存方法通过添加:
来解决这个问题 $dependency = new CDbCacheDependency('SELECT MAX(lu_date) FROM {{issues}}');
return new CActiveDataProvider(Issue::model()->cache(3600, $dependency, 4), array(
'criteria' => $criteria,
'pagination' => array('pageSize' => 20,
),
'sort' => array('defaultOrder' => 'c_date DESC')
));
不幸的是没有改进, 请注意,我目前使用延迟加载在CGridview中实现并调用了5个以上的关系。这可能是问题所在吗? 我目前的服务器是LAMP - 基于Linux的
感谢您抽出宝贵时间阅读本文,非常欢迎任何建议或意见:)
答案 0 :(得分:0)
因为你有5个关系,你正在使用延迟加载进行1 + 5 * 20 = 101个查询。 你应该尝试加载:
Issue::model()->with('relation1', 'relation2', 'deep.relation3')