多表left join优化 各位大佬有没有什么优化方案

sql 描述:通过订单明细表关联订单项表和商品表


SELECT * from order_info
        left join order_item on order_info.id = order_item.order_num
        left join goods on goods.id = order_item.goodsId
        where order_info.id = 1;

            explain执行发现会对goods表做全表扫描? 为什么会这样,我理解会拿order_item.goodsId 去goods表中查?


            各位大佬有没有什么优化方案

去goods表中去查那不也得是全表查嘛...给条件字段加个索引试一下,应该就不是全表了。

这个功能是后台统计用?建议加上条件过滤缩小扫描范围,比如时间(时间加上索引),分页(limit)等