django查询很慢,但我的SQL查询很快



我有一个非常简单的视图在我的django应用程序

def notProjectsView(request):
context = {
'projects':notProject.objects.all(),
'title':'Not Projects | Dark White Studios'
}
return render(request, 'not-projects.html', context)

当我删除上下文时,它运行得很快,但这是一个简单的查询,不应该这么长,数据库也没有很多记录,它有1个项目,在模板中我查询project.notProjectImage.all,这可能导致n+1问题,但我删除了那部分来测试它,它仍然很慢Django调试工具栏显示一个~50ms的sql查询,而时间选项卡中的实际请求超过了15秒

所以,您已经消除了DB查询作为它慢的原因。你需要去别的地方看看。当你测试视图时(使用Django测试框架来GET html或POST数据并检查html响应)是不是很慢?这样就消除了浏览器中发生的一些事情,比如行为不端的脚本或框架。这就留下了项目的Python代码,或者是运行它的机器出了问题。是不是有些东西的循环远远超出了应有的范围?还是您的开发机器因为RAM不足而出现页面抖动?

(哦,DB在哪里?开发人员通常将其托管在他们正在开发的机器上,但如果它是基于云的,请查看互联网连接的性能(可能还有服务本身的性能)。

永远像夏洛克·福尔摩斯一样工作。"一旦排除了不可能,剩下的无论多么不可能,都一定是真相。">

顺便说一句,我最近在我的开发人员机器上发现了一个bug (Cinnamon/Linux) GUI。那当然是我最后一个想去看的地方,直到我把其他的东西都排除了。

最新更新