【发布时间】:2012-06-07 03:46:22
【问题描述】:
我有一个包含超过 15k 行记录的表。
我正在提取数据并将其显示在 jquery 数据表插件中,但显示需要几分钟时间。有什么建议可以减少页面加载时间吗?
这就是我在 Controller 中提取数据的方式。
$model = Property::model->with('estates','types','tenures','rooms','districts')->findAll();
$this->render('index', compact('models','pages'));
【问题讨论】:
-
1) 使用缓存 2) 只提取每次显示的行数。如果这不可能,请加载前 1000 个或其他任何内容,然后异步获取其余部分。
-
数据库缓存方式应该和ActiveRecord一起使用吗?
-
谢谢@Ansari。我认为唯一的方法是使用分页并每行加载 10 行记录。
-
是的,在 Yii 中,您可以缓存数据库查询(或 ActiveRecord findAll() 查询)的结果。
-
为什么需要拉出 15000 行?为什么不使用分页或无限滚动?