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
。如果是这种情况,您唯一的选择就是预计算和缓存计数。