Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django MySQL加入以提高性能_Python_Mysql_Django_Performance_Django Queryset - Fatal编程技术网

Python Django MySQL加入以提高性能

Python Django MySQL加入以提高性能,python,mysql,django,performance,django-queryset,Python,Mysql,Django,Performance,Django Queryset,我在找医疗用品 我有10个区域,每个区域有10张桌子,每个桌子包含药房,还有10张桌子,每个桌子包含药房可用的医疗物品 现在我正在所有这些药房中寻找一种药品 对于每个区域,我都会得到对象 a_list = Washington_dispensaries.objects.all() 然后,我正在搜索每个药房是否都有这一特定项目 if category: a_lists = [] for dispensary in a_list: items = dispens

我在找医疗用品

我有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连接来加快查询速度。现在我如何更快地查询

您已经在做两个连接,到项目和产品类型。因此,只需再做一件事:与其单独获得药房,不如将其作为过滤器的一部分。在不查看模型的情况下,很难给出准确的语法,但类似于:

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