改变一下inner join顺序试试呢看另外现在有哪些索引看
tim_spac说的没错,并没有使用表goods_color和goods_size中的其它字段,size_id和color_id在表goods_sku中都有,可以不用join这两个表,除非为了数据一致性或取得相关的其它字段。
SELECT g.goods_id,g.goods_sn,g.goods_name,gc.color_id,gz.size_id,
gu.sku_id,gu.sku
FROM encm_products_goods a
INNER JOIN goods_sku gu on gu.goods_id = a.goods_id
INNER JOIN goods_color gc ON gc.color_id=gu.color_id
INNER JOIN goods_size gz ON gz.size_id=gu.size_id
INNER JOIN goods g ON g.goods_id=gu.goods_id
WHERE 1 AND a.products_id=1
GROUP BY g.goods_id,gc.color_id,gz.size_id
ORDER BY g.goods_id DESC, gc.color_id ASC, gz.size_id ASC