【发布时间】:2021-09-14 13:35:19
【问题描述】:
我正在尝试使用 django 构建一个应用程序。当我使用小型数据库(大约 10k 行)时,该应用程序运行良好。但是,在某些视图中,我需要计算我的类的一些数据,所以我需要调用我所有的数据库。很慢(超过30s),而且根据Django Debug Toolbar的说法,大部分时间都被CPU消耗了。
这是我尝试启动的(非常)简化的代码示例:
def test_view(request):
queryset_articles = Articles.objects.all()
total_count = sum([a.words_count for a in queryset_articles])
response = 'Total words : ' + str(count)
return HttpResponse(response)
我应该怎样做才能获得合理的等待时间?我考虑做另一个表,我会经常用这些历史统计数据更新它,然后在我的视图中直接调用它们。
谢谢,
皮埃尔
【问题讨论】:
-
"调用我所有的数据库"??通常不建议这样做,如果数据过多,它甚至可能崩溃您的服务器。您唯一想要的是某个字段的 sum 吗?如果是这样,这个问题可能会给你答案:stackoverflow.com/questions/8616343/…
标签: python django database sqlite render