我有一段使用嵌套ORM查询的遗留代码,它生成带有JOIN的SQL SELECT查询和包含SELECT和JOIN的条件。执行这个查询需要很长时间。顺便说一下,当我在原始SQL中执行这个查询时,从中获得,它的执行时间是合理的。
在这种情况下,最佳优化实践是什么?
如果我使用ManyToMany和ForeignKey关系,查询会更快吗?
prefetch_related()
- 是否有可能手动制造预取?例如,如果我写 - items.objects.values('related__value')
- 是否类似于 prefetch_related()
? - user2115719当有疑问时,请使用 原生 SQL。在Django世界中,这是一种完全有效的优化方法。