大家好,开发人员,
我目前遇到了严重的延迟,当使用ajax按钮调用(或正常的重定向或刷新)更新CGridview时,我可以使用firebug的控制台告诉我,请求本身需要大约399毫秒,这是不错的,但当CGridview更新时,它会下降,我说的是3941毫秒(或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的
感谢您抽出时间阅读本文,欢迎您提出任何建议或意见:)
发布于 2013-06-12 00:40:36
因为您有5个关系,所以使用延迟加载进行1+5*20 = 101查询。您应该尝试立即加载:
Issue::model()->with('relation1', 'relation2', 'deep.relation3')https://stackoverflow.com/questions/17048463
复制相似问题