Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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
Mysql 通过多个分组依据和子查询优化选择_Mysql_Group By_Subquery - Fatal编程技术网

Mysql 通过多个分组依据和子查询优化选择

Mysql 通过多个分组依据和子查询优化选择,mysql,group-by,subquery,Mysql,Group By,Subquery,我正在尝试通过以下方式选择所有订单: 选择所有具有1个以上订单的地址(使用邮政编码和街道地址) 选择所有这些订单 我当前的查询如下所示: SELECT o.* FROM ( SELECT o2.orders_id FROM `zen_orders` o2 GROUP BY delivery_postcode, delivery_street_address HAVING COUNT(o2.orders_i

我正在尝试通过以下方式选择所有订单:

  • 选择所有具有1个以上订单的地址(使用邮政编码和街道地址)
  • 选择所有这些订单
  • 我当前的查询如下所示:

    SELECT  o.*
    FROM    ( SELECT o2.orders_id
                  FROM `zen_orders` o2
                  GROUP BY delivery_postcode, delivery_street_address
                  HAVING COUNT(o2.orders_id) > 1
            ) AS o3
    LEFT JOIN zen_orders AS o ON (o.orders_id = o3.orders_id)
    ORDER BY delivery_street_address
    
    查询速度非常慢,我想知道我做错了什么,应该如何修复它

    编辑:按要求添加索引,速度快得多。还运行了“解释”:


    yes orders\u id是主键尝试在以下字段上添加索引:
    delivery\u postcode
    delivery\u street\u address
    使用EXPLAIN运行查询并发布结果。您好,我在这两个字段中添加了索引,看起来现在速度快多了。我还运行了“解释”并将结果发布在帖子上。为什么需要左键连接?有没有可能找不到你在o3中找到的身份证?