Django:通过在夜间自动执行复杂的查询并将结果保存在较小的查找表中来缩短页面加载时间

问题描述 投票:0回答:1

我正在Django中构建类似于仪表板的webapp,由于数据库相对较大(一个具有60.000行的表...并且正在不断增长),查询的复杂性和大量隐患,我的视图需要永久加载。根据django调试工具栏上的python处理和数据处理,页面需要12秒才能加载。

为了加快页面加载时间,我考虑了以下解决方案:

  • 建立一个每晚自动调用的视图,完成所有复杂的查询,数字运算和数据处理,并将结果保存在数据库中的小查询表中
  • 构建第二个视图,该视图返回dashbaord,但是通过非常简单的查询从小型查找表中检索数据,因此加载速度更快

由于第一个视图的查询每天晚上执行,因此数据始终在查找表中是最新的

我的问题:我的想法有意义吗?如果是,那么有人对这种方法有经验吗?如何编写一个每晚都会自动调用的视图?

我也阅读过有关缓存的信息,但是在数据库更新之后仍然要花很长时间来缓存页面的第一次加载,并且数据库中的数据会定期更新

django django-views django-queryset django-database
1个回答
0
投票

是,这是惯例。

© www.soinside.com 2019 - 2024. All rights reserved.