我创建了一个Django应用程序,一切似乎都很好用。然后我开始查看Django调试工具栏,看到我的一些页面生成了100多个查询,并且有很多重复项。但是,由于我想象的缓存,页面仍然很快,执行时间仍然很短。
我的问题是,这些大量查询是一个大问题吗?如果我调用相同的查询两次,我应该优先考虑减少查询次数,也不管它是否正常,因为知道Django ORM会缓存结果。
例如,如果我在模板中进行相同的查询(如果有的话),我应该将其作为上下文变量传递,还是使用with标记将其设置为模板中的变量,而不是多次调用它,即使Django缓存结果?
答案 0 :(得分:1)
查询的数量并不重要,它们获取的数据以及您需要关注的时间。
如果有任何事情花费最少的时间查看花费最长时间才能完成的查询,因为这些查询将返回大部分数据,并查看您是否真的需要所有这些数据。如果你这样做,还有其他方法可以访问它。如果不能,则可以减少返回的数据。
与往常一样,如果性能不是问题,则无需担心,专注于其他可能存在瓶颈的事情。