首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yii - CGridview性能问题

Yii - CGridview性能问题
EN

Stack Overflow用户
提问于 2013-06-11 23:50:51
回答 1查看 393关注 0票数 0

大家好,开发人员,

我目前遇到了严重的延迟,当使用ajax按钮调用(或正常的重定向或刷新)更新CGridview时,我可以使用firebug的控制台告诉我,请求本身需要大约399毫秒,这是不错的,但当CGridview更新时,它会下降,我说的是3941毫秒(或4.3秒),仅仅是为了更新视图,对我来说,这是相当可怕的!

启用所有Yii所需的扩展(如Memcache、PDO MySQL和APC)。我还提到了使用缓存方法来解决这个问题,方法是添加:

代码语言:javascript
复制
 $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的

感谢您抽出时间阅读本文,欢迎您提出任何建议或意见:)

EN

回答 1

Stack Overflow用户

发布于 2013-06-12 00:40:36

因为您有5个关系,所以使用延迟加载进行1+5*20 = 101查询。您应该尝试立即加载:

代码语言:javascript
复制
Issue::model()->with('relation1', 'relation2', 'deep.relation3')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17048463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档