【问题标题】:Yii Framework, reduce page loading time due to massive data in sql tableYii 框架,由于 sql 表中的海量数据,减少页面加载时间
【发布时间】: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 行?为什么不使用分页或无限滚动?

标签: php sql yii


【解决方案1】:

使用分页并省略“with”,这样记录将被急切加载,因此只有那些需要显示的才会真正在缓存中。试一试,您会立即看到不同。

【讨论】:

  • 谢谢。尽管我必须添加更多功能而不是享受 jquery 数据表插件,但它在性能方面效果更好。
猜你喜欢
  • 1970-01-01
  • 2020-09-09
  • 1970-01-01
  • 2012-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多