gpt4 book ai didi

php - Yii 动态下拉列表 - 昂贵的查询

转载 作者:行者123 更新时间:2023-12-01 00:31:05 24 4
gpt4 key购买 nike

我有一个 Yii 下拉列表,它加载了一个包含城市、州、邮政编码、纬度和经度的表格。加载状态下拉列表时,它需要很长时间。有没有办法加快查询速度以减少页面加载时间?我已经包含了我的观点:

echo $form->dropDownList($model,'State', CHtml::listData(Zipcodes::model()->findAll(),
'State', 'State', 'State'), array('empty'=>'-- Choose State --'));

该表有 41,000 个条目。在 listData() 中设置 $groupField 似乎没有带来任何明显的改进。

最佳答案

我认为你可以有两种方式:

1) 使用缓存(过期时间长或没有,因为您拥有的数据不是动态的)。第一次你的加载时间不会改变,但之后,它会快很多,因为缓存已经保存了。 http://www.yiiframework.com/doc/guide/1.1/en/caching.data#query-caching

$zipcodes = Zipcodes::model()->cache(3600*24*7)->findAll(); //cache for a week
  • 使用缓存,您需要编辑 config/main.php 文件
//...
'components' => array(
//...
'cache'=>array(
'class'=>'system.caching.CFileCache',
//'class'=>'system.caching.CDummyCache',
//other cache class
),
//...
),
//...

2) 也许考虑试试CJuiAutoComplete http://www.yiiframework.com/doc/api/1.1/CJuiAutoComplete/它只会在输入和匹配您感兴趣的数据时为您提供结果。

关于php - Yii 动态下拉列表 - 昂贵的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6285737/

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