gpt4 book ai didi

php - Yii 1.1 查询量过多,如何优化?

转载 作者:行者123 更新时间:2023-11-29 12:26:51 24 4
gpt4 key购买 nike

我在使用 Yii 时遇到了一个大问题,因为渲染简单的东西需要超过 10 秒。

例如:

Controller :

public function actionFailed($id=null) {
if(!is_null($id)) $this->_viewcity=$id;
$failed = Delivery::model()->findAll('failed IS NOT NULL AND city_id = '.$this->_viewcity.' ORDER BY id DESC');
$cities = City::model()->findAll('active > 0');
$this->render('failed',array(
'failed'=>$failed,
'cities'=>$cities,
'city'=>City::model()->findByPk($this->_viewcity),
));
}

仅在 View 中使用了foreach ($failed as $d)

查询日志:http://jsfiddle.net/kwqabmc0/

我该如何优化这个?我的 SQL 服务器 ping 时间为 23 毫秒,前面提到的页面需要很长时间才能加载。

最佳答案

您在 View 中使用延迟加载 Delivery.itemsDelivery.user

尝试

$failed = Delivery::model()->with('items', 'user')->findAll('failed IS NOT NULL AND city_id = '.$this->_viewcity.' ORDER BY id DESC');

或者不要在 View 中使用这些关系。

关于php - Yii 1.1 查询量过多,如何优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28195139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com