Django -如何在模型包含大型JSONField时提高性能?

llycmphe  于 2023-08-08  发布在  Go
关注(0)|答案(2)|浏览(127)

我正在研究如何在过滤包含大量数据(数千行)的JSONField的查询集时提高性能。
即使在查询和返回大约100个对象时,返回也非常慢。10-20秒。
我逐渐意识到问题出在JSONfield上,以及大型数据集存储在该字段中的事实。
我正在阅读Djangos的.only().defer()方法,因为我不需要在这个JSONField中使用任何数据,但是不使用这些方法的性能似乎完全相同。
我只是在这里寻找一些关于如何提高性能的指导。

gk7wooem

gk7wooem1#

如果在查询后使用for循环(在模板或视图中),则可能会隐含正在执行的其他查询。
在循环之前在查询中使用select_related可以防止进一步的额外查询,并提高性能。

7vhp5slm

7vhp5slm2#

是否尝试过使用.values()或values_list()?

相关问题