python批量访问网页保存结果_python - 结合Django完成前端页面大量的统计数据展示...

问 题

1.描述:

目前正在为一个平台程序做一个展示页面,展示页面要求显示大量的统计数据,如用户拥有的任务数量、任务的构成、结果的TOP显示等等等等。

后台提供的数据库就是程序执行完成后的每项元数据,需要我从中筛选出足够的信息去进行展示。因为第一次开发Django程序,我能想到的就是用ORM模型去分别找到数据,封装好后传给template去进行展示。

但是最近发现当用户和任务数量达到一定的量级的时候,页面打开很慢。

我使用django_toolbar发现在少量测试样例(100个任务)里面SQL的查询就足够多了,而且其中出现了IN的查询(因为这个表最初就是设计给调度的那个程序使用的,没考虑展示,因此查询起来比较复杂),这样效率就很低了。截图如下:

bVxU7t

2.自己的一些想法:

因为我没开发过Django和前端的经验,因此我想了解一般对于这类的网站,是不是前端展示也要单独做一些表出来,然后在调度的后台有新数据的时候维护前端展示的数据表的数据更新(比如使用存储过程中的触发器)。

还是说有其他更好的方式。

希望各位大牛能够分享你们的意见。Thanks~

解决方案

django只是一套orm框架,不涉及到你的业务逻辑,你提到的速度慢,应该想办法优化你的业务逻辑

django只是用于展示数据,如果查询速度过慢,看看sql有没有优化的余地,如果没有优化空间应该建立一张新的表,数据由后端程序运行好存到表里

你也可以考虑把汇总相关的功能用elasticsearch来实现

wx.jpg

扫一扫关注IT屋

微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值