gpt4 book ai didi

python - Django MySQL Join 以提高性能

转载 作者:行者123 更新时间:2023-11-29 00:05:32 25 4
gpt4 key购买 nike

我正在寻找医疗用品

我有 10 个区域,每个区域有 10 个表,每个表包含医疗药房,还有另外 10 个表,每个表包含这些药房提供的医疗用品。

现在我正在所有这些药房中寻找一种医疗用品

对于每个区域,我都得到对象

  a_list = Washington_dispensaries.objects.all()

然后我正在搜索每个药房是否有这种特定元素

if category:
a_lists = []
for dispensary in a_list:
items = dispensary.washington_dispensaries_item_set.filter(item__product_type__name = category)

if items:
result_cat_items.append(items)
a_lists.append(dispensary)
a_list = a_lists

完成所有 10 个区域的查询需要 15 秒。

如果我用 PHP 编写代码,我会使用 MySQL 连接来加快查询速度。现在如何查询更快。

最佳答案

您已经对 item 和 product_type 进行了两次联接。所以再做一个:与其单独获取药房,不如将其作为过滤器的一部分。在没有看到您的模型的情况下很难给出准确的语法,但是类似于:

DispensaryItem.objects.filter(dispensary__location='Washington', item__product_type__name=category)

关于python - Django MySQL Join 以提高性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27702532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com