Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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
Php SQL计数和优化查询_Php_Mysql_Optimization_Count_Query Optimization - Fatal编程技术网

Php SQL计数和优化查询

Php SQL计数和优化查询,php,mysql,optimization,count,query-optimization,Php,Mysql,Optimization,Count,Query Optimization,我有以下疑问: SELECT SUM(subbrandcount) AS Totalsubbrand , SUM(stylecode) AS Reference FROM (SELECT COUNT(DISTINCT(subbrand)) AS subbrandcount, COUNT(DISTINCT(t_product_flat.reference)) AS stylecode FROM smiddleware.t_wareh

我有以下疑问:

SELECT SUM(subbrandcount) AS Totalsubbrand ,
       SUM(stylecode) AS Reference
FROM
     (SELECT COUNT(DISTINCT(subbrand)) AS subbrandcount,
             COUNT(DISTINCT(t_product_flat.reference)) AS stylecode
        FROM smiddleware.t_warehouseinventory
  INNER JOIN catalog.t_product_flat 
          ON t_warehouseinventory.a_productcode=t_product_flat.ean13
       WHERE a_quantity > 0
    GROUP BY t_product_flat.Subbrand) subbrandtable
这个查询给了我想要的结果,但是我仍然需要优化它,因为它增加了我的页面加载时间

我的页面有20个sql查询,但所有内容都是子查询,因此呈现页面需要更多时间

下图显示了查询说明


您是否尝试过
解释
以获取此查询的执行计划?你能把它添加到问题中吗?是的,我添加了解释。请看图片。在解释中,我看到MySQL没有在
t\u warehaouseinventory
上使用任何索引。能否在
t\u Warehouse Inventory.a\u productcode
上添加索引,然后重试查询?(以及
EXPLAIN
)从查询计划中可以看出
t\u Warehouse Inventory
中的大多数记录都有
a\u quantity>0
。如果是这种情况,您唯一的选择就是预计算和缓存计数。