暂无图片
明明有主键索引,为什么mysql索引失效
我来答
分享
仓管员
2021-05-13
明明有主键索引,为什么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

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

1620623354367.png

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
cqiwen

你的where条件中引用的列虽然有建索引,但它是复合索引,你引用时并没有在where中带第一列:id列,所以它不会走这个复合索引。

暂无图片 评论
暂无图片 有用 0
我是路人甲

where条件与索引都不匹配,把复后索引中的id去掉试试。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏