【发布时间】:2010-12-23 14:09:32
【问题描述】:
我有一个名为 Valor 的模型。 Valor 有一个机器人。我这样查询:
Valor.objects.filter(robot=r).reverse()[0]
获得最后的Valor the r 机器人。 Valor.objects.filter(robot=r).count() 大约是 200000,在我的 PC 中获取最后一个项目大约需要 4 秒。
如何加快速度?我查询的方式不对?
【问题讨论】:
-
你有一个非常华丽的 ForeignKey、OneToOneField 或 ManyToManyField 关系结构吗?
-
fwiw,这很慢,因为您正在选择
valor表中的所有内容,当您将每个条目转换为列表时(通过.reverse)为每个条目实例化一个 django 模型实例,并采取只有列表中的第一项。
标签: django optimization django-queryset