我有一个来自 Django ORM 查询的查询集,其中包含大约 1500 条记录。我使用了 select_lated() 和 only() 方法来确保查询是严格的。我还使用了connection.queries来确保只有这一个查询。也就是说,我确保每次迭代都不会调用额外的查询。
当我从 connection.queries 运行查询剪切和粘贴时,它在 0.02 秒内运行。然而,迭代这些记录并且不对它们执行任何操作(通过)需要七秒钟的时间。
我可以做什么来加快速度?是什么原因导致这种缓慢?
当查询集充满模型对象时,它会变得相当重。在类似的情况下,我在查询集上使用 .values 方法将所需的属性指定为字典列表,这样迭代速度会快得多。
Django 文档:值列表
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)