Logica_
2019-10-12 09:44
采纳率: 93.5%
浏览 1.5k

多表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表中查?


            各位大佬有没有什么优化方案
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • have_power 2019-10-12 14:45

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

    评论
    解决 无用
    打赏 举报
  • Json-Huang 2019-10-13 10:48

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题