weixin_39667046 2021-05-10 13:10 采纳率: 0%
浏览 201

明明有主键索引,为什么mysql索引失效

执行语句,发现仓储表wh_warehouse全表扫描

EXPLAIN 
SELECT 
  * 
FROM
  wh_inbound_order_detail e 
  LEFT JOIN  wh_warehouse ww 
    ON ww.id = e.warehouse_id 
WHERE      ww.isGs = 0
    AND ww.is_jiancai = 0 


明明有索引的啊,为什么呢?只有主键索引的时候没没匹配到,那么干脆在创建个联合索引吧,没想到还是没匹配到。

  • 写回答

3条回答 默认 最新

  • benbenli 2021-05-10 13:23
    关注

    下面这样写就可以了。因为主键没有匹配到的情况下,ww.isGZ 和 ww.is_jiancai 都是NULL。

    EXPLAIN 
    SELECT 
      * 
    FROM
      wh_inbound_order_detail e 
      LEFT JOIN  wh_warehouse ww 
        ON ww.id = e.warehouse_id 
        AND ww.isGs = 0
        AND ww.is_jiancai = 0 
    评论

报告相同问题?